Метод spell
Метод spell класса Number преобразует число в его текстовое представление. Этот метод полезен для генерации человекочитаемых описаний чисел, например, при формировании счетов, чеков или любых других документов, где требуется словесное написание суммы. Метод поддерживает локализацию и автоматически использует язык, установленный в конфигурации приложения.
Синтаксис
<?php
use Illuminate\Support\Number;
Number::spell($number, $locale);
?>
Первым параметром передаётся числовое значение, которое необходимо преобразовать. Вторым параметром, необязательным, передаётся локаль (например, 'ru', 'en', 'fr'). Если локаль не указана, используется локаль по умолчанию.
Пример
Давайте преобразуем число 12345 в словесное представление на английском языке:
<?php
use Illuminate\Support\Number;
$res = Number::spell(12345, 'en');
echo $res;
?>
Результат выполнения кода:
"twelve thousand three hundred forty-five"
Пример
Преобразуем число 987654321 в словесное представление на русском языке:
<?php
use Illuminate\Support\Number;
$res = Number::spell(987654321, 'ru');
echo $res;
?>
Результат выполнения кода:
"девятьсот восемьдесят семь миллионов шестьсот пятьдесят четыре тысячи триста двадцать один"
Пример
Используем метод spell без указания локали, тогда будет использована локаль по умолчанию:
<?php
use Illuminate\Support\Number;
$res = Number::spell(2024);
echo $res;
?>
Результат выполнения кода (зависит от настроек локали):
"two thousand twenty-four"
Пример
Преобразуем десятичное число 123.45 в словесное представление на французском языке:
<?php
use Illuminate\Support\Number;
$res = Number::spell(123.45, 'fr');
echo $res;
?>
Результат выполнения кода:
"cent vingt-trois virgule quarante-cinq"
Пример
Используем метод spell для форматирования порядкового числительного на английском языке:
<?php
use Illuminate\Support\Number;
$number = 5;
$res = Number::spell($number, 'en');
echo "The " . $res . "th element";
?>
Результат выполнения кода:
"The fifth element"