您的位置:首页 > 其它

31-如果要求精确的答案,请避免使用float和double

2010-05-20 14:38 411 查看
在以下场合,不能使用浮点数运算。

1、货币

可以使用分为单位.

2、精确计算

BigDecimal 可以自己控制舍入,基本没有位数限制。但是慢。

当9位以下使用int,18位以下使用long.

去年年底就有一个case,是计算正负概率,然后做归一化。 计算概率 有很多诸如 p= n/s 的表达式,归一化后,分子分母约分,最后剩下一个连乘的分子 和连乘的分母。当时得到的结果与标准结果有差异,后来才发现,由于连乘很多,使用double 被截断了。后来上网一查,发现有BigDecimal 类可以做到全精度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: