我正在做一些计算,结果是65.0
或43.5
。
我需要在这个数字上添加一个零,以便我的数字比较有效:
$this->sub_total == $order_sub_total
我已经使用 number_format() 进行了测试:
$total = number_format($total, 2, '.');
但这给了我 er msg:Wrong parameter count for number_format()
我很想做:
$total = $total.'0';
但我认为这是一个坏主意,以防数字35.43
.
那么如何为我的数字添加额外的小数呢?
> 使用number_format()
,您需要两个或四个参数。三个总是会通过一个错误。
对于您来说,以下两种方法的工作方式相同:
$total = number_format($total, 2);
$total = number_format($total, 2, '.', ',');
如果你提到小数点分隔符,你还必须使用千位分隔符。
所以要么做
number_format($total, 2);
或
number_format($total, 2, '.', ',');
这是文档。
由于某些地区使用 ,
作为小数分隔符,因此number_format($total, 2)
并非普遍正确。为了确保获得所需的结果,必须使用 number_format($total, 2, '.', ',');
.
为什么不是一个普通的旧$total = sprintf("%01.2f", $total)
?
编辑:
100 万次迭代计时与 $n = 3.14159
:
$total = sprintf("%01.2f", $n); 9.148s
$total = number_format($n, 2); 8.296s
$total = number_format($n, 2, ".", ","); 10.944s
因此,sprintf
比带有分隔符的成熟number_format
略好。