Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该在插入整数列之前对值进行四舍五入吗?_Php_Mysql - Fatal编程技术网

Php 我应该在插入整数列之前对值进行四舍五入吗?

Php 我应该在插入整数列之前对值进行四舍五入吗?,php,mysql,Php,Mysql,假设一个非常简单的表只包含一列,这是一个整数 现在,为了在这个表中插入一些内容,我做了如下操作: $val = 11 / 5; // 2.2 $stmt = $db->prepare('INSERT INTO myTable VALUES ($val)'); $stmt->execute(); 我知道当它被插入到表中时(我已经尝试过),它会被舍入,尽管我不确定这是由PHP还是在数据库中完成的 问题: 我真的应该在插入PHP之前对其值进行四舍五入吗 $val = round(11

假设一个非常简单的表只包含一列,这是一个整数

现在,为了在这个表中插入一些内容,我做了如下操作:

$val = 11 / 5;  // 2.2

$stmt = $db->prepare('INSERT INTO myTable VALUES ($val)');
$stmt->execute();
我知道当它被插入到表中时(我已经尝试过),它会被舍入,尽管我不确定这是由PHP还是在数据库中完成的

问题:

我真的应该在插入PHP之前对其值进行四舍五入吗

$val = round(11 / 5);  // 2

我想说,这完全取决于考虑到桌子的用途,围着桌子转是否有意义。你不必这样做。MySQL将把这个值转换成一个整数。你可能想保留它的原始值,以后可能会证明它很有用。您可以在以后通过查询和/或PHP对其进行取整。如果您没有在PHP中执行
round()
,当您将其保持原样时。将特定数据插入到数据类型
INT
时。它将被插入,但一旦插入,它将被截断(
.2
)。@adey_888。这就引出了为什么要将浮点值放入整型字段的问题。我想你真的应该解决那个问题。