编辑对不起家伙我想让PHP mod显示小数
在MySQL select mod(15.6,1)
结果0.6
但在PHP 15.6 % 1
结果0
?
我的目的是限制只计算不允许小数的精确整数的计算
在PHP中,%
模数运算符用于整数。操作数15.6和1在被处理之前被转换为int(15和1)。因此,正如您所料,15%1给出0.因此,“不允许小数的精确整数”与PHP中的行为相匹配。
在MySQL中,正如文档所说:
MOD()也适用于具有小数部分的值,并在除法后返回精确的余数
因此,在MySQL中使用操作数之前,应该对操作数进行TRUNCATE(操作数,0)以获取整数行为。这与PHP的转换为int的行为一致 - 数字被截断,而不是被覆盖(这与负数有显着差异)。