PHP浮点模数不工作
我写了一个函数,在必要时给一个数字加上逗号和零,但是我被模数函数卡住了。根据我的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
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