Mysql乘法运算

时间:2012-09-27 11:56:47

标签: mysql multiplication

我有一个值为= 2.05的浮点数,当我执行* 1000时,结果为 2049.999952316284 为什么结果不是2050.0?

由于

2 个答案:

答案 0 :(得分:1)

大概是因为该字段不是存储为2.05而是存储为2.04999。如果增加字段的分辨率,即将其存储为2.0500,会发生什么?

此问题是由于计算机无法准确存储一些实数。

顺便提一下,如果该值应该是货币值,则将其存储为数字(12,2),然后不会出现任何浮点错误。

答案 1 :(得分:1)

阅读这篇文章:

Floating Point Bugs in Mysql