2015-10-13 144 views
0

为什么显示出与PHP函数不正确的结果?为什么用php函数显示不正确的结果?

这是我的代码。这是必须的,以显示0

但是,当我测试此代码。这表明99

为什么?????

<?PHP 
$first = "8.12"; 
$second = "0.12"; 
$first = ($first)*(100); 
$second = ($second)*(100); 
$results = ($first)-($second); 
echo ($results)%(100); 
?> 
+0

当与浮点值的工作,使用'FMOD()'函数。 – kainaw

回答

0

这似乎是浮点变量(双)的一个奇怪的问题。这里是你如何解决它,而不必担心铸造变量:

$first = "8.12"; 
$second = "0.12"; 
$first = ($first)*(100); 
$second = ($second)*(100); 
$results = round(($first)-($second)); 
echo ($results)%(100); 

添加round的结果计算(或者,如果你愿意,乘以$first$second 100时),将解决浮点错误。

也可以用第二个参数指定的round()精度,如

round(123.4567, 2); // 123.46