如何在我的数字中添加小数


How do I add a decimal to my number?

我正在做一些计算,结果是65.043.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略好。