0

我正在尝试将我的 MySQL 数据库中的浮点数保存为小数(20,10)。但我认为这不是一个好方法,因为当我尝试保存 2.14 时,它会保存 2.1400000000。

至少这个比 float(20,10) 好,因为那个四舍五入是错误的。但是我应该使用哪种类型将其存储为 2.14?我不能只说 20,2,因为有时我有例如 34.2222291 作为值。

解决方案:双(20,10)修复它。

4

1 回答 1

3

2.14和之间的区别2.1400000000只是输出格式的问题(无论您使用哪种语言 - 但如果您愿意,甚至可以使用 MySQL )。

因此,如果您想要精确的十进制值,DECIMAL(20,10)就是要走的路。DOUBLE(双精度浮点)只是比FLOAT(单精度浮点)少舍入问题,它并没有消除它们,因为它仍然是浮点类型。

于 2013-01-22T10:12:40.340 回答