使用双数获取PHP除法的'mod'

时间:2018-08-16 19:34:50

标签: php fmod mod

我正在尝试在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

为什么最后的减法会出错?

0 个答案:

没有答案