<分区>
已编辑 抱歉,我想让 PHP mod 显示小数
在 MySQL 中 select mod(15.6,1)
结果 0.6
但在 PHP 中 15.6 % 1
结果 0
?
我的目的是限制只计算不允许小数的精确整数
<分区>
已编辑 抱歉,我想让 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() also works on values that have a fractional part and returns the exact remainder after division
因此,在 MySQL 中使用操作数以获得整数行为之前,您应该截断(操作数,0)操作数。这与 PHP 转换为 int 的行为一致——数字被截断,而不是被取整(这与负数有显着差异)。
关于php - MySQL 模组与 PHP 模组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48056033/