我正在开发一个PHP应用程序,当我使用HTML文本输入时,我有一个问题,这是我第一次处理这个案例。 当我尝试在HTML文本输入中插入一个浮点值为34.4以将其放入MySQL数据库时,但当我转到我的数据库时,我找到值35。 我不知道为什么这个值是四舍五入的,我不使用任何像ceil这样的函数。 如果有人可以帮助我,我会非常感激。
答案 0 :(得分:1)
如果您使用的是十进制,默认值为DECIMAL(10,0),则应指定精度和比例,例如:
DECIMAL(10, 4)
DECIMAL列的声明语法是 DECIMAL(M,D)。 MySQL 5.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?
答案 1 :(得分:0)
在Mysql
中将列类型设置为float答案 2 :(得分:0)
问题出在DB列类型中,它是DECIMAL(10,0)因此MySQL将浮点数舍入为INT数。