当使用小小数/浮点数时,PHP对我错误。请使用以下代码:
$spotPrices['entry'] = 1.6591;
$price['o'] = 1.65908;
$currentresult = $spotPrices['entry'] - $price['o'];
echo $currentresult;
我希望这会输出0.00002
(答案)。但它输出:-1.99999999999E-5
为什么要这样做,更重要的是,我如何才能得到正确的结果?
我已经在论坛上进行了一些搜索,看到浮点数给PHP带来了适合但是没有看到解决方案或解决方法似乎回答了我的问题。
答案 0 :(得分:3)
我的计算器说结果应该是0.00002
使用number_format:
$currentresult = number_format($spotPrices['entry'] - $price['o'], 8);
答案 1 :(得分:1)
而不是0.00002,得到1.9999999999909E-5,即0.000019999999999909。这是由于浮点精度。精度取决于平台。您可以在此处阅读:http://www.php.net/manual/en/language.types.float.php