而不是显示这样格式化的数字:
1,234,567.890,我想显示这样格式化的数字:
1 234 567.890,与此略有不同:
1 234 567.890。
我正在使用 PHP 函数:
number_format($value, 0, ".", " ")
但是,它产生了这个:
1�234�567.890
我已经将 http header 和 html 文档设置为 UTF-8。我相信这个问题的出现是由于薄空间是一个多字节字符。我一直无法找到处理此问题的 mb 字符串函数。
有没有人知道如何处理这个问题?
最佳答案
基于此,这是针对旧 PHP 版本中的问题的一个非常hacky 的修复,缺少滚动您自己的 number_format
实现:
$separator = ' ';
echo preg_replace('/(?<=\d)\x' . bin2hex($separator[0]) . '(?=\d)/',
$separator,
number_format($value, 0, '.', $separator));
关于php - 如何格式化带有细空格的数字作为千位分隔符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13761490/