dev-master
9999999-devConverts numbers to text
The Requires
- php ^5.4 || ^7.0
The Development Requires
Converts numbers to text
Converts numbers to strings, (*1)
use Sfadless\NumberToStringConverter\Language\Russian\RussianLanguageFactory; use Sfadless\NumberToStringConverter\NumberToStringConverter; $factory = new RussianLanguageFactory(); $russianLanguage = $factory->create(); $converter = new NumberToStringConverter($russianLanguage); $converter->convert(33.27); //тридцать три рубля двадцать семь копеек
You can control output with templates. Default template is "%i_string% %i_currency% %f_string% %f_currency%". It means, that for number 11.12 default output will be "одиннадцать рублей двенадцать копеек". Available variables in template by default are %i_string%, %i_value%, %i_currency%, %f_string%, %f_value%, %f_currency%., (*2)
$template = '%i_value% %i_currency% %f_value% %f_currency%'; $converter->convert(12.22, ['template' => $template]); // 12 рублей 22 копейки
If you need, you can add your own variables in template, where you have full control of output., (*3)
use Sfadless\NumberToStringConverter\Language\Russian\Output\Output; use Sfadless\NumberToStringConverter\Language\Russian\Output\OutputVariable; $variable = new OutputVariable('i_short_curency', function (Output $output) { return mb_substr($output->getInteger()->getCurrency(), 0, 3); }); $template = '%i_value% %i_short_curency%'; $converter->convert(12, ['template' => $template, 'variables' => [$variable]]); // 12 руб
By default, currency is rubles. You can create any currency you like., (*4)
use Sfadless\NumberToStringConverter\Language\Russian\Currency; use Sfadless\NumberToStringConverter\Language\Russian\Declension\Declension; $currency = new Currency( new Declension('доллар', 'доллара', 'долларов', Declension::GENDER_M), new Declension('цент', 'цента', 'центов', Declension::GENDER_M) ); $converter->convert(3.05, ['currency' => $currency]); //три доллара пять центов
Converts numbers to text