0

从 sql 数据库加载双精度值时出现问题。当我使用码头时它工作正常,但是当我更改为 Tomcat 时会出现此问题。

问题是像 0,7 这样的十进制数被加载为 0.699999988079071。或者像 0,77 这样的数字被加载为 0.7699999809265137

我试过用这句话加载:

DecimalFormat df = new DecimalFormat("#.##",new DecimalFormatSymbols(Locale.ENGLISH));
Float.parseFloat(df.format(rst.getFloat("decimal_number")));

并且仍然有错误。

有谁知道为什么会这样?

提前致谢。

4

1 回答 1

0

阅读http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

然后使用 Double 而不是 Float。

享受!

于 2012-06-05T12:51:21.733 回答