mysql浮点数据字段不接受每个浮点数

时间:2013-08-13 11:36:56

标签: mysql

我有一个浮动数据字段:

`total` float(20,2) unsigned NOT NULL,

我想插入一个浮动数字,如:“815032.68”,但不接受,数字四舍五入为815032.69。为什么呢?

2 个答案:

答案 0 :(得分:1)

使用定点数据类型

`total` DECIMAL(20,2) unsigned NOT NULL
  

DECIMAL和NUMERIC类型存储完全数字数据值。在保持精确精度很重要时使用这些类型,例如使用货币数据。

MySQL Doc

浮点数据类型只能存储approximate numbers

答案 1 :(得分:1)

浮点数是32位数,存储为尾数和指数,FLOAT可以具有的最大值是+ 8388608 * 10 ^ 127,最小值是-8388608 * 10 ^ 127。这意味着只有7位有效数字,并且您的FLOAT定义使用了20.使用双数据类型。