我正在尝试将我的 MySQL 数据库中的浮点数保存为小数(20,10)。但我认为这不是一个好方法,因为当我尝试保存 2.14 时,它会保存 2.1400000000。
至少这个比 float(20,10) 好,因为那个四舍五入是错误的。但是我应该使用哪种类型将其存储为 2.14?我不能只说 20,2,因为有时我有例如 34.2222291 作为值。
解决方案:双(20,10)修复它。
我正在尝试将我的 MySQL 数据库中的浮点数保存为小数(20,10)。但我认为这不是一个好方法,因为当我尝试保存 2.14 时,它会保存 2.1400000000。
至少这个比 float(20,10) 好,因为那个四舍五入是错误的。但是我应该使用哪种类型将其存储为 2.14?我不能只说 20,2,因为有时我有例如 34.2222291 作为值。
解决方案:双(20,10)修复它。
2.14
和之间的区别2.1400000000
只是输出格式的问题(无论您使用哪种语言 - 但如果您愿意,甚至可以使用 MySQL )。
因此,如果您想要精确的十进制值,DECIMAL(20,10)
就是要走的路。DOUBLE
(双精度浮点)只是比FLOAT
(单精度浮点)少舍入问题,它并没有消除它们,因为它仍然是浮点类型。