如何解决java 浮点型(Double)不准的问题

[复制链接]
查看11 | 回复3 | 2013-4-14 20:53:46 | 显示全部楼层 |阅读模式
十进制数的二进制表示可能不够精确浮点数或是双精度浮点数无法精确表示的情况并不少见。浮点数值没办法用十进制来精确表示的原因要归咎于CPU表示浮点数的方法。这样的话您就可能会牺牲一些精度,有些浮点数运算也会引入误差 在有的编程语言中提供了专门的货币类型来处理这种情况,但是Java没有。所以,在商业计算中我们要用:java.math.BigDecimal 。
BigDecimal一共有4个构造方法,其中不属于int的有两个,它们是:
1、BigDecimal(double val)
Translates a double into a BigDecimal.
2、BigDecimal(String val)
...
回复

使用道具 举报

千问 | 2013-4-14 20:53:46 | 显示全部楼层
float的精度更差,应该使用java.math.BigDecimal...
回复

使用道具 举报

千问 | 2013-4-14 20:53:46 | 显示全部楼层
简单明了一句话用bigdecimal...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行