我试图验证第一个浮点数是否可以被第二个浮点数完全除以,我得到了如下内容:
$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)发布于 2020-05-27 15:05:16
这是因为fmod()函数只返回所作除法的浮点模。
在第一个例子中,余数是一个浮点值,它由函数返回。
但是在下面的例子中,如果我们将除法作为
$first = 4.08; // or 2.04, 3.06, 6.12, 8.16
$second = 1.02;我们得到整数类型的余数,即0.041616.The问题,这里是函数所显示的值仅限于第一个十进制(在本例中是0.0).But,如果我们必须将两个数字的模查找为
<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
?>我们将得到浮点(0.5)的值。
因为这里小数点之后的第一个数字不是0。
因此,在您的例子中,函数显示了float(0)。
有关更多详细信息,请访问单击此处
https://stackoverflow.com/questions/62046099
复制相似问题