我正在尝试验证是否可以将第一个浮点数除以第二个浮点数,然后得到如下所示:
$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);
?>
我们将得到的值为。因为这里小数点后的第一位不是0。float(0.5)
因此,在您的情况下,该功能由float(0)
显示。
有关更多详细信息,您可以访问Click Here