【Laravel】Numberクラスで数値をフォーマット
こんにちは、おさむちゃんです。
今回はLaravelのIlluminate\Support\Numberクラスの紹介です。
Numberクラスは数値をさまざまな形式でフォーマットするための便利なユーティリティクラスです。
このクラスはLaravel 10.33で導入され、以降のバージョンでアップデートされています。
以下にNumberクラスの使用方法について、いくつか使用例を記載します。
- Laravel Framework: 10.44
デフォルトはカンマ区切りです。
デフォルトは英語です。
デフォルトは英語です。
デフォルトはUSDです。
https://laravel-news.com/laravel-number-utility-class
https://github.com/laravel/framework/blob/10.x/src/Illuminate/Support/Number.php
https://www.php.net/manual/ja/book.intl.php
今回はLaravelのIlluminate\Support\Numberクラスの紹介です。
Numberクラスは数値をさまざまな形式でフォーマットするための便利なユーティリティクラスです。
このクラスはLaravel 10.33で導入され、以降のバージョンでアップデートされています。
以下にNumberクラスの使用方法について、いくつか使用例を記載します。
環境
- PHP: 8.2- Laravel Framework: 10.44
Number::format()
数値を指定されたロケールに従ってフォーマットします。デフォルトはカンマ区切りです。
use Illuminate\Support\Number;
echo Number::format(1234567); // 1,234,567
// 小数点以下の指定
echo Number::format(1234.5678, 2); // 1,234.57
Number::spell()
数値を指定されたロケールの言葉にフォーマットします。デフォルトは英語です。
echo Number::spell(123); // one hundred twenty-three
echo Number::spell(123, 'ja_JP'); // 百二十三
Number::ordinal()
数値を序数の形式にフォーマットします。デフォルトは英語です。
echo Number::ordinal(1); // 1st
echo Number::ordinal(2); // 2nd
echo Number::ordinal(12); // 12th
echo Number::ordinal(1, 'ja_JP'); // 第1
Number::percentage()
数値をパーセンテージ形式にフォーマットします。
echo Number::percentage(12); // 12%
// 小数点以下の指定
echo Number::percentage(12, 2); // 12.00%
echo Number::percentage(12.34, 1); // 12.3%
Number::currency()
数値を指定した通貨形式にフォーマットします。デフォルトはUSDです。
echo Number::currency(123456); // $123,456.00
echo Number::currency(123456, 'JPY'); // ¥123,456
Number::fileSize()
バイト数をファイルサイズの単位にフォーマットします。
echo Number::fileSize(1024); // 1 KB
// 小数点以下の指定
echo Number::fileSize(1234567, 2); // 1.18 MB
Number::abbreviate()
数値を短縮形にフォーマットします。
echo Number::abbreviate(123456); // 123K
// 小数点以下の指定
echo Number::abbreviate(123456789, 1); // 123.5M
Number::clamp()
数値を指定された範囲内に制限します。
echo Number::clamp(5, 0, 10); // 5
echo Number::clamp(-5, 0, 10); // 0
echo Number::clamp(50, 0, 10); // 10
Number::useLocale()
デフォルトのロケールを設定します。
Number::useLocale('ja_JP');
echo Number::spell(123); // 百二十三
echo Number::ordinal(1); // 第1
注意点
Numberクラスを使用する際は、国際化用拡張モジュール intl をインストールしておく必要があります。参考
https://readouble.com/laravel/10.x/ja/helpers.html#method-number-abbreviatehttps://laravel-news.com/laravel-number-utility-class
https://github.com/laravel/framework/blob/10.x/src/Illuminate/Support/Number.php
https://www.php.net/manual/ja/book.intl.php