【发布时间】:2020-05-10 09:56:11
【问题描述】:
示例代码:
$fmt = new NumberFormatter('sv_SE', NumberFormatter::PERCENT);
var_dump($fmt->format(99.99));
预期输出:
string(9) "99,99 %"
实际输出:
string(9) "9 999 %"
分析:
我一定是“错过了什么”。我已经有了百分比数字(九十九点九十九),我只想为给定的语言+语言环境组合适当地输出它。例如,在美国,它是“99.99%”,小数点是句点,百分比数字和百分号之间没有空格,而在瑞典,它是“99,99 %”,小数点是逗号和之间的空间。其他语言环境/语言中可能还有许多其他规则,我还没有遇到过。
我确实不希望 PHP 以任何方式“进一步处理”我输入的数字。已经完成了”。无需更多处理。
坦率地说,我什至不明白为什么 PHP 将它变成“9999”,而它显然是作为 99.99 的浮点数......
是否有某种隐藏选项可以关闭对号码的“进一步处理”?
【问题讨论】:
标签: php number-formatting percentage