如何在我的号码中添加小数?

时间:2012-08-06 13:42:58

标签: php number-formatting

我正在做一些计算,最后得到65.043.5 我需要在这个数字上加零,以便我的数字比较起作用:

$this->sub_total == $order_sub_total

我已经使用number_format()进行了测试:

$total = number_format($total, 2, '.');

但这给了我一些消息:Wrong parameter count for number_format()

我很想做:

$total = $total.'0';

但我认为如果数字为35.43,这是一个坏主意。

那么如何在我的号码中添加额外的小数?

3 个答案:

答案 0 :(得分:16)

使用number_format(),您需要两个或四个参数。三个人总是会犯一个错误。

对于您而言,以下两者的工作方式相同:

$total = number_format($total, 2);

$total = number_format($total, 2, '.', ',');

答案 1 :(得分:2)

如果你提到小数点分隔符,你还必须使用千位分隔符。

所以要么

number_format($total, 2);

OR

number_format($total, 2, '.', ',');

Here's the documentation.

由于某些地区使用,作为小数点分隔符,因此number_format($total, 2)不是普遍正确的。为确保获得所需的结果,您必须使用number_format($total, 2, '.', ',');

答案 2 :(得分:0)

为什么不是普通的$total = sprintf("%01.2f", $total)

编辑:

使用$n = 3.14159计时100万次迭代:

$total = sprintf("%01.2f", $n);               9.148s
$total = number_format($n, 2);                8.296s
$total = number_format($n, 2, ".", ",");     10.944s

所以sprintf略好于带有分隔符的完整版number_format