HTML 输入数字时四舍五入的文本输入

HTML text input rounded when numbers entered

我正在开发一个 PHP 应用程序,当我使用 HTML 文本输入时遇到一个问题,这是我第一次处理这种情况。 当我尝试在 HTML 文本输入中插入一个浮点值 34.4 以将其放入 MySQL 数据库时,但是当我转到我的数据库时,我发现值 35。 我不知道为什么这个值是四舍五入的,我没有使用任何像 ceil 这样的函数。 如果有人能帮助我,我将不胜感激。

将列类型设置为浮动 Mysql

问题出在数据库列类型中,它是 DECIMAL(10,0),因此 MySQL 将浮点数四舍五入为 INT 数。

如果您使用的是小数,默认为DECIMAL(10, 0),您应该指定精度和小数位,例如:

DECIMAL(10, 4)

DECIMAL 列的声明语法是 DECIMAL(M,D)。 MySQL5.7中参数取值范围如下:

M是最大位数(精度)。它的范围是 1 到 65。(旧版本的 MySQL 允许范围是 1 到 254。)

D是小数点右边的位数(刻度)。它的范围是0到30,并且不能大于M。

参考: http://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

另外,检查这个答案:How do I interpret precision and scale of a number in a database?