我正在尝试在PHP 5.6中获取两个浮点数的模块,并且创建了一个函数来执行此操作,因为'%'或函数fmod都没有给我正确的答案,但是在所有需要提供函数的时候使0.2-0.1的结果明显为0.1,这表明我的结果是错误的。
我的代码:
function nmod($a, $b){
$mod = $a;
while ($mod >= $b){
echo $mod.'-'.$b.' = ';
echo $mod - $b.'<br>';
$mod = $mod - $b;
}
return $mod;
}
$a = 2;
$b = 0.10;
nmod($a, $b);
执行此代码时,我得到以下结果集:
2-0.1 = 1.9
1.9-0.1 = 1.8
1.8-0.1 = 1.7
1.7-0.1 = 1.6
1.6-0.1 = 1.5
1.5-0.1 = 1.4
1.4-0.1 = 1.3
1.3-0.1 = 1.2
1.2-0.1 = 1.1
1.1-0.1 = 1
1 1-0.1 = 0.9
0.9-0.1 = 0.8
0.8-0.1 = 0.7
0.7-0.1 = 0.6
0.6-0.1 = 0.5
0.5-0.1 = 0.4
0.4-0.1 = 0.3
0.3-0.1 = 0.2
0.2-0.1 = 0.099999999999999
为什么最后的减法会出错?