示例代码:
$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的浮点数时......
是否有某种隐藏的选项来关闭该号码的“进一步处理”?
开心每一天1111