【发布时间】:2012-11-25 12:53:27
【问题描述】:
而不是显示格式如下的数字:
1,234,567.890,我想显示如下格式的数字:
1 234 567.890,与此略有不同:
1 234 567.890。
我正在使用 PHP 函数:
number_format($value, 0, ".", " ")
但是,它会产生这个:
1�234�567.890
我已经将 http 标头和 html 文档设置为 UTF-8。我相信这个问题的出现是由于薄空间是一个多字节字符。我一直没能找到处理这个问题的 mb 字符串函数。
有人知道如何处理这个问题吗?
【问题讨论】:
-
"5.4.0 这个函数现在支持 dec_point 和数千个字节中的多个字节。旧版本中只使用了每个分隔符的第一个字节。" - 是的,看起来像你'将不得不推出你自己的实现(或升级 PHP)。
-
你确定这段代码不能正常工作吗:
number_format(1234567890, 0, '.', ' '); -
@deceze,啊..很好。我明白了.. 谢谢,那我需要升级。
-
你也可以在这里查看不同版本的PHP的结果:3v4l.org/mKqfT
标签: php number-formatting multibyte