模除法只返回整数吗?我需要浮存值返回。请参阅以下内容:
var_dump(12 % 10); // returns 2, as expected
var_dump(11.5 % 10); // returns 1 instead of 1.5?
是的。 %
运算符返回一个整数。
如果需要浮点结果,请改用 fmod()
函数。
请参阅手册。
模的操作数转换为整数(通过剥离 小数部分)处理前。
11.5 变为 11。
11 % 10 = 1 remainder **1**
您的解决方案:fmod()
,正如tom_yes_tom所建议的那样。
引用文档页面:
"模的操作数被转换为整数(通过剥离 小数部分)在处理之前。
有什么解决方法吗?
数学。。。
11.5 - floor(11.5 / 10) * 10 == 1.5