Код: Выделить всё
Intl.NumberFormat('en-CA', {style: 'currency', currency: 'CAD', notation: 'compact', maximumSignificantDigits: 5 }).format(12345000000);
// Output: $12.345B"
Intl.NumberFormat('fr-CA', {style: 'currency', currency: 'CAD', notation: 'compact', maximumSignificantDigits: 5 }).format(12345000000);
// Output: "12,345 G$"
Код: Выделить всё
$formatter = new NumberFormatter('en_CA', NumberFormatter::PADDING_POSITION);
$formatter->setAttribute(NumberFormatter::SIGNIFICANT_DIGITS_USED, 5);
echo $formatter->format(12345000000);
// Output: 12.345B
$formatter = new NumberFormatter('fr_CA', NumberFormatter::PADDING_POSITION);
$formatter->setAttribute(NumberFormatter::SIGNIFICANT_DIGITS_USED, 5);
echo $formatter->format(12345000000);
// Output: 12,345 G
Код: Выделить всё
$formatter = new NumberFormatter('en_CA', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency(12345000000, 'CAD');
// Output: $12,345,000,000.00
$formatter = new NumberFormatter('fr_CA', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency(12345000000, 'CAD');
// Output: 12 345 000 000,00 $
Код: Выделить всё
$formatter = new NumberFormatter('en_CA', NumberFormatter::PADDING_POSITION);
$formatter->setAttribute(NumberFormatter::SIGNIFICANT_DIGITS_USED, 5);
echo $formatter->formatCurrency(12345000000, 'CAD');
// Output: 12.345B
$formatter = new NumberFormatter('fr_CA', NumberFormatter::PADDING_POSITION);
$formatter->setAttribute(NumberFormatter::SIGNIFICANT_DIGITS_USED, 5);
echo $formatter->formatCurrency(12345000000, 'CAD');
// Output: 12,345 G
Я знаю, что могу реализовать здесь собственное решение, но мне бы хотелось иметь возможность полагаться на встроенные l18n такие же методы, как я в JavaScript.
Подробнее здесь: https://stackoverflow.com/questions/788 ... d-currency
Мобильная версия