PHP NumberFormatter и Валюта, не может установить точность
Я хочу установить точность 0 при использованииNumberFormatter PHP класс (отIntl расширение) с валютой. Однако я получил какой-то странный результат. Вот:
$numberFormatter = new NumberFormatter('en-US', NumberFormatter::CURRENCY);
$numberFormatter->setAttribute(NumberFormatter::FRACTION_DIGITS, 0);
echo $numberFormatter->formatCurrency('45', 'USD');
Выводит$45
что я и хочу Однако, если я поменяю валюту наEUR
с такими же настройками:
echo $numberFormatter->formatCurrency('45', 'EUR');
Выводит€45.00
(хотя я явно установил, чтобы иметь точность нуля).
Еще более странно, если я установлю язык наfr-FR
, это выводит число как ожидалось:
$numberFormatter = new NumberFormatter('fr-FR', NumberFormatter::CURRENCY);
$numberFormatter->setAttribute(NumberFormatter::FRACTION_DIGITS, 0);
echo $numberFormatter->formatCurrency('45', 'EUR');
Выводит45 €
.
Это ошибка?