使用 fmod() 在 2 个浮点数之间查找提醒
Find reminder between 2 floating numbers using fmod()
我试图验证第一个浮点数是否可以完全除以第二个浮点数,我得到了这样的结果:
$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()
有效 nicely.I 不明白为什么 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()
函数只returns除法的浮点数取模
与第一种情况一样,余数是函数返回的浮点值。
但在下面的例子中,如果我们将除法设为
$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)
。
更多详情请访问Click Here
我试图验证第一个浮点数是否可以完全除以第二个浮点数,我得到了这样的结果:
$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()
有效 nicely.I 不明白为什么 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()
函数只returns除法的浮点数取模
与第一种情况一样,余数是函数返回的浮点值。
但在下面的例子中,如果我们将除法设为
$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)
。
更多详情请访问Click Here