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

时间:2015-10-13 16:14:40

标签: php

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

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

但是当我测试这段代码时。它显示99

为什么?????

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

1 个答案:

答案 0 :(得分: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