使用PHP做数学运算的时候,由于小数采用浮点运算,最后得出的,可能并不是我们想要的结果。
特别是金融行业、电子商务订单管理、数据报表等相关业务,利用浮点数进行加减乘除时,稍不留神运算结果就会出现偏差,轻则造成经济损失,重则信誉损失,甚至吃上官司。所以,我们一定引起高度重视!
实际运用中到底有何表现呢?
下面列举几个例子
<?php
$a = 0.1;
$b = 0.7;
var_dump(($a + $b) == 0.8);
上述代码,我们一看就知道,应该是结果正确的,要输出true才对。
但是实际结果呢?输出的却是false。
我们再来看几个例子
//加
$a = 0.1;
$b = 0.7;
$c = intval(($a + $b) * 10);
echo $c."<br>";
//输出:7
//减
$a = 100;
$b = 99.98;
$c = $a - $b;
echo $c."<br>";
//输出:0.019999999999996
//乘
$a = 0.58;
$b = 100;
$c = intval($a * $b);
echo $c."<br>";
//输出:57
//除
$a = 0.7;
$b = 0.1;
$c = intval($a / $b);
echo $c."<br>";
//输出:6
很明显&#x