• #laravel
  • #tips
  • #helpers

Number: Nueva clase de utilidad para formatear números

Junto a las utilidades ya existentes para manejo de arrays, objetos, string y más, ahora también se une una nueva utilidad para el formateo de números.

En un reciente PR (#48845), se agrego la nueva clase de utilidad Number, que contiene algunos helpers que nos ayudaran con el formateo de números para ciertos casos.

Number::format()

use Illuminate\Support\Number;
Number::format(100000);
// 100,000
Number::format(100000, precision: 2);
// 100,000.00
Number::format(100000.123, maxPrecision: 2);
// 100,000.12
Number::format(100000, locale: 'de');
// 100.000
Number::format(100000, locale: 'sv');
// 100 000

Number::percentage()

use Illuminate\Support\Number;
Number::percentage(10);
// 10%
Number::percentage((1/3) * 100, precision: 2);
// 33.33%

Number::currency()

use Illuminate\Support\Number;
Number::currency(1000);
// $1,000.00
Number::currency(1000, in: 'EUR');
// €1,000.00
Number::currency(1000, in: 'EUR', locale: 'de');
// 1.000.00 €

Number::fileSize()

use Illuminate\Support\Number;
Number::fileSize(1024);
// 1 KB
Number::fileSize(1024 * 1024);
// 1 MB
Number::fileSize(1024, precision: 2);
// 1.00 KB

Number::forHumans()

use Illuminate\Support\Number;
Number::forHumans(1000);
// 1 thousand
Number::forHumans(489939);
// 490 thousand
Number::forHumans(1230000, precision: 2);
// 1.23 million

Number::spell()

use Illuminate\Support\Number;
Number::spell(1500);
// one thousand five hundred
Number::spell(1500, 'es_PE');
// mil quinientos
Number::spell(1500, 'fr_FR');
// mille cinq cents

Number::ordinal()

use Illuminate\Support\Number;
Number::ordinal(5);
// 5th
Number::ordinal(5, locale: 'es');
// 5.º
Number::ordinal(5, locale: 'fr');
// 5e

Puedes ver más información en la documentación oficial

Te puede interesar: Laravel Pail: Seguimiento de registros de logs en tiempo real