Используя метод formatCurrency()
в _ 2_ класс с валютой CHF (швейцарские франки) округляет суммы до ближайшего никеля (0,05) для меня.
Код:
$formatter = new \NumberFormatter('en_US', \NumberFormatter::CURRENCY);
echo $formatter->formatCurrency('12.34', 'CHF');
Результат:
12,35 швейцарского франка
Обратите внимание, что числовое значение 12,34 округляется до 12,35. Сначала я подумал, что потенциально это было ожидаемым и новым способом обращения с деньгами, с которым я не знаком. Оказывается, это не так, как должно работать. (https://money.stackexchange.com/q/105014/81599)
Почему в PHP оно округляется в большую / меньшую сторону до ближайшего никеля и как это исправить?