为什么用php函数显示不正确的结果?
这是我的代码。必须显示0
但是当我测试这段代码时。它显示99
为什么?????
<?PHP
$first = "8.12";
$second = "0.12";
$first = ($first)*(100);
$second = ($second)*(100);
$results = ($first)-($second);
echo ($results)%(100);
?>
答案 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