laravel-ready / readable-numbers
Human readable numbers for Laravel
Installs: 11 552
Dependents: 3
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/laravel-ready/readable-numbers
Requires
- php: ^8.2 || ^8.1 || ^8.0
- illuminate/support: ^v12.10 || ^11.8 || ^10.0 || ^9.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: v10.2
- phpunit/phpunit: ^12.1
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
| Threshold | Suffix | Result |
|---|---|---|
| 900 | 900 | |
| 900.000 | k | 0.9 K |
| 900.000.000 | m | 0.9 M |
| 900.000.000.000 | b | 9 T |
| 90.000.000.000.000 | t | 900 T |
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.