Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个浮点数据字段:
`total` float(20,2) unsigned NOT NULL,
我想插入一个浮点数,例如:“815032.68”,但它不被接受,并且该数字四舍五入为 815032.69。为什么?
使用定点数据类型
`total` DECIMAL(20,2) unsigned NOT NULL
DECIMAL 和 NUMERIC 类型存储精确的数字数据值。当保持精确的精度很重要时使用这些类型,例如货币数据。
MySQL 文档
浮点数据类型只能存储近似数字。
浮点数是存储为尾数和指数的 32 位数字,FLOAT 可以具有的最大值为 +8388608*10^127,最小值为 -8388608*10^127。这意味着只有 7 个有效数字,并且您的 FLOAT 定义使用了 20。使用双精度数据类型。