laravel-ready / readable-numbers
Human readable numbers for Laravel
Installs: 7 560
Dependents: 3
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: ^8.2 || ^8.1 || ^8.0
- illuminate/support: ^11.8 || ^10.0 || ^9.0
Requires (Dev)
- mockery/mockery: ^1.6.12
- orchestra/testbench: v9.1.0
- phpunit/phpunit: ^10.5.20
README
Human readable numbers for Laravel. In some cases, you may need to format numbers in a way that is easier to read. Especially when you are dealing with numbers that are very large, for example we want to show page views and we have 100000000
views. So we can show it in the 100M
format.
Installation
composer require laravel-ready/readable-numbers
Thresholds
Usages
make
method takes 3 aguments: make(float $value, int $decimals = 1, $lang = null)
Service Example
use LaravelReady\ReadableNumbers\Services\ReadableNumbers; ... $readableNumber = ReadableNumbers::make(123456789); // 123.5 M $readableNumber = ReadableNumbers::make(-123456789); // -123.5 M // with more decimals $readableNumber = ReadableNumbers::make(123456789, 2); // 123.46 M // with target language (default is english) $readableNumber = ReadableNumbers::make(123456789, 2, 'tr'); // 123.46 Mn $readableNumber = ReadableNumbers::make(123456789, 3, 'ja'); // 123.457 億 $readableNumber = ReadableNumbers::make(123456789, 4, 'de'); // 123.4568 Mio.
Directive Example
There is only one directive: @readableNumber()
, again takes three arguments: @readableNumber(float $value, int $decimals = 1, $lang = null)
. If you use a multi-language system, you should remember to directives are cached. So, you should pass decimal count and language.
... <span> @readableNumber(123456789, 1, app()->getLocale()) </span> ... <span class="view-counter"> <i class="icon icon-eye"></i> Viewed @readableNumber($blogPost->views, 1, app()->getLocale()) times </span>
Languages
Supported languages are listed here and reference are used in unicode.org. If you want to add your own language and send PR.
Don't forget to these shortings are depends on a mathematical view.