使用 fmod() 在 2 个浮点数之间查找提醒



>我试图验证第一个浮点数是否可以完全除以第二个浮点数,我得到了这样的东西:

$first = 10.20; // or 5.10, 7.14, 9.18
$second = 1.02;
var_dump(fmod($first, $second));
// output is showing
float(1.02)

但是,如果我尝试将这些数字除以 1.02,fmod()效果很好。我不明白fmod()为什么会有这样的行为?对这个问题的任何回答都将帮助我理解这一事实。

$first = 4.08; // or 2.04, 3.06, 6.12, 8.16
$second = 1.02;
var_dump(fmod($first, $second));
// output is showing
float(0)

这是因为fmod()函数只返回除法的浮点模数。

与第一种情况一样,余数是函数返回的浮点值。

但是在下面的示例中,如果我们进行除法

$first = 4.08; // or 2.04, 3.06, 6.12, 8.16
$second = 1.02;

我们得到整数类型的余数,即0.041616。这里的问题是函数显示的值仅限于第一个小数点(在这种情况下它是0.0(。但是,如果我们必须找到两个数字的模

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
?>

我们将得到值为float(0.5(。

因为这里小数点后的第一个数字不是0。

因此,在您的情况下,它由函数float(0)显示。

有关更多详细信息,您可以访问 点击这里

相关内容

最新更新