php - MySQL 模组与 PHP 模组

标签 php mysql modulus

<分区>

已编辑 抱歉,我想让 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/

相关文章:

mysql - Google App Engine 连接外部 MySQL Node.js

c++ - C++ 中 'x % y != 0' 的机制

php - 谁能确认 phpMyAdmin AllowNoPassword 适用于 MySQL 数据库?

php - 使用 text() 匹配 XSLT 中的自定义实体名称

mysql - 查询显示过去给定日期的库存

c++ - while循环中的浮点比较与模数

java - Java 加密与 And .NET 的十六进制生成问题

php - 获取两个标签之间的公共(public)节点

PHP创建表错误1064

mysql - 具有多个基本情况的递归 SQL