SQLite浮点问题

时间:2015-04-22 14:36:37

标签: sqlite floating-point

此查询在返回0.00时返回1.7763568394002505e-15:

SELECT st.id
, Sum(
    CASE sa.Type 
    WHEN 4 THEN sa.quantity * (st.price - st.commission)
    WHEN 5 THEN -sa.quantity * (st.price - st.commission)
    ELSE 0.0 END
) Sales
FROM sales sa
JOIN stock st
  ON sa.stockid = st.id
WHERE st.id = 1
GROUP BY st.id

http://sqlfiddle.com/#!5/cccd8/3

它看起来像是经典的浮点计算问题,但我该如何解决? 我已经尝试将各个列转换为REAL但它没有任何区别。

您可以使用此查询模拟结果:

SELECT 26.3 - 10.52 - 15.78 AS Result

0 个答案:

没有答案