我在生活中看到过一些错误,但这个错误让我感到非常惊讶。
我有一个包含0.02
的浮点列。
现在我正在尝试此查询:
select rma.*,120.0/60.0*rma.amount as reward
现在数学告诉我们结果将是0.04
,
但令人惊讶的是,MySql(版本5.5.28)声称不然,并说它是:
0.03999999910593033
我也试过没有.0
的数字,并使用大括号,结果仍然相同。
现在,所有不均匀数字的情况都会出现相同的结果。例如4.1
将为8.199999809265137
任何人都知道为什么会这样?
答案 0 :(得分:0)
尝试CAST
就像这样:
select rma.*, CAST((120.0 / 60.0 * rma.amount) AS DECIMAL(10,2)) as reward