2

我想将值插入33.55555数据库。即使将 mysql 行更改为floator decimal,我也无法正确执行此操作。
mysql:

ALTER TABLE `test` CHANGE `test1` `test1` DECIMAL( 10,10 ) NOT NULL 

插入后通过此 sql 命令33.55555转换为0.9999999999

ALTER TABLE `test` CHANGE `test1` `test1` FLOAT( 10,10 ) NOT NULL 

33.55555被转换为1.0000000000

4

1 回答 1

5

您的 DECIMAL() 和 FLOAT() 声明已关闭。第一个参数是您希望数字的长度,第二个参数是其中有多少是小数。因此,当您说 FLOAT(10,10) 时,您是在说给我一个 10 位长的列,其中小数点后有 10 位。

Decimal 和 Float 在近似方面也不同。小数是定点值,而浮点数是浮点值。

.999999999 和 1.000000 是列的最大值。

试试这个插入 35.55555:

ALTER TABLE `test` CHANGE `test1` `test1` DECIMAL( 7,5 ) NOT NULL 
于 2012-11-28T19:26:02.660 回答