我使用 MongoDB 将值存储为 Decimal128 并使用 PHP 和 Twig 来显示它们。我的问题是输出格式有千位分隔符吗?我尝试过使用 number_format,但这不起作用,因为该值是字符串而不是 int 或 float。我不想键入转换值,因为我希望该值是精确的。
例子:
1000.382 = 1,000.382
99.01 = 99.01
1900000 = 1,900,000
我写了一个函数来做到这一点。仍然想知道是否有更好的方法来做到这一点。
<?php
$n = '12345.001';
echo fNumString($n);
function fNumString ($number_string) {
$ex_num = explode('.', $number_string);
$whole_num_len = strlen($ex_num[0]);
$formated = '';
if ($whole_num_len > 3) {
for ($i = 0; $i < $whole_num_len; $i++) {
$formated .= $ex_num[0][$i];
if ((($whole_num_len - ($i + 1)) % 3) == 0 && $whole_num_len != ($i + 1))
$formated .= ',';
}
} else
$formated = $ex_num[0];
if (count($ex_num) == 2)
$formated .= '.' . $ex_num[1];
return $formated;
}
慕盖茨4494581