PHP Float精度导致小数问题

时间:2012-05-01 02:45:46

标签: php numbers floating-accuracy

我有一个ojbect $order,它有一个成员函数amount(),它将行项的总和(所有浮点数)相加,然后返回值(再次,作为一个浮点数)。

var_dump(array(
    $order->amount() * 100.0, 
    intval($order->amount() * 100.0),
));

结果:

Array
(
    [0] => 7500
    [1] => 7499
)

订单项的值均低于1000且永远不会超过2个小数点...

在PHP中处理十进制值的最佳方法是什么,因为缺乏精确度会给我带来问题......

编辑:为了更好地说明:

echo "Addition: " . intval((172.45 - 72.45 - 25.0) * 100);

结果:

Addition: 7499

0 个答案:

没有答案