MySQL mod vs PHP mod [关闭]

问题描述 投票:0回答:1

编辑对不起家伙我想让PHP mod显示小数

在MySQL select mod(15.6,1)结果0.6但在PHP 15.6 % 1结果0

我的目的是限制只计算不允许小数的精确整数的计算

php mysql modulus
1个回答
3
投票

在PHP中,%模数运算符用于整数。操作数15.6和1在被处理之前被转换为int(15和1)。因此,正如您所料,15%1给出0.因此,“不允许小数的精确整数”与PHP中的行为相匹配。

在MySQL中,正如文档所说:

MOD()也适用于具有小数部分的值,并在除法后返回精确的余数

因此,在MySQL中使用操作数之前,应该对操作数进行TRUNCATE(操作数,0)以获取整数行为。这与PHP的转换为int的行为一致 - 数字被截断,而不是被覆盖(这与负数有显着差异)。

© www.soinside.com 2019 - 2024. All rights reserved.