3

我有一个浮点数据字段:

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

我想插入一个浮点数,例如:“815032.68”,但它不被接受,并且该数字四舍五入为 815032.69。为什么?

4

2 回答 2

1

使用定点数据类型

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

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

MySQL 文档

浮点数据类型只能存储近似数字

于 2013-08-13T11:42:01.383 回答
1

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

于 2013-08-13T11:44:39.987 回答