我正在输入'35444650.00'作为浮动进入我的MySQL并且它一直重新格式化为35444648.00,欢迎任何帮助......
答案 0 :(得分:8)
Floats只有一定的精度,你可能会超出float数据类型的精确程度。请尝试使用DOUBLE。
答案 1 :(得分:4)
浮点数有6位精度。使用double来获得15或切换到数字(x,y)。如果您有兴趣,请查看storage requirements for MySQL了解不同的数据类型。
答案 2 :(得分:3)
MySQL手册声称FLOAT, REAL, and DOUBLE PRECISION
字段将值存储为近似,INTEGER, SMALLINT, DECIMAL, and NUMERIC
字段将值存储为精确。
我认为克服这个精确问题的最佳方法是使用十进制。
参考:http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html
答案 3 :(得分:2)
浮点数的更高精度替代是DOUBLE
。但是看一下这个例子,我认为如果零后所需的位数很小(大约2-4)并且小数点前的位数也很小(大约10-12),那么DECIMAL
数据类型可能会派上用场。 )。
答案 4 :(得分:0)
您将超越精确度。你需要更精确地定义浮点数,即“FLOAT(10,5)”意味着一个浮点数总共可以有10位数,小数点后最多可以有5位。