Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP浮点模数不工作_Php_Floating Point_Modulus - Fatal编程技术网

PHP浮点模数不工作

PHP浮点模数不工作,php,floating-point,modulus,Php,Floating Point,Modulus,我写了一个函数,在必要时给一个数字加上逗号和零,但是我被模数函数卡住了。根据我的PHP: float(877.5) % 1 == 0 //true 不应该877.5%1==0.5?否,模运算符告诉您除法的剩余部分。任何除以1的东西都没有余数,所以它的结果是0。它提醒你除法,你需要的是 fmod-返回参数除法的浮点余数(模) 那么%和fmod之间到底有什么区别呢?是不是因为它是一个浮点数,%不起作用?奇怪的是,在google chrome inspector中,如果我键入33.3%1,它会给我0

我写了一个函数,在必要时给一个数字加上逗号和零,但是我被模数函数卡住了。根据我的PHP:

float(877.5) % 1 == 0 //true

不应该
877.5%1==0.5

否,模运算符告诉您除法的剩余部分。任何除以1的东西都没有余数,所以它的结果是0。

它提醒你除法,你需要的是

fmod-返回参数除法的浮点余数(模)


那么%和fmod之间到底有什么区别呢?是不是因为它是一个浮点数,%不起作用?奇怪的是,在google chrome inspector中,如果我键入33.3%1,它会给我0.3的浮点数返回值。模运算的操作数在处理之前转换为整数(通过去掉小数部分)。有关浮点模,请参见fmod()。谢谢你的邀请
echo fmod(877.5, 1); // 0.5