Java语言为什么需要使用BigDecimal类来做精确运算?

zhujinqiang 2017-02-14 03:35:12
使用的BigDecimal类貌似很繁琐
那么,Java语言为什么需要使用BigDecimal类来做精确运算?
用浮点Double的结果会有不可接受的误差?
...全文
443 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨笙弘一 2017-02-20
  • 打赏
  • 举报
回复
如果你要控制精度 当然选择BigDecimal类来做运算 你可以运行一下Double 1.0-0.9的结果 看看是多少 后面的小数位很多 然而答案并不是0.1
zhujinqiang 2017-02-20
  • 打赏
  • 举报
回复
BigDecimal类来做精确运算的原理有是什么? 是增加了数据类型的位长,比double更长吗?
ryuugu_rena 2017-02-14
  • 打赏
  • 举报
回复
因为用2进制表示十进制时有时会丢失精度
realx 2017-02-14
  • 打赏
  • 举报
回复
System.out.println(4.1-1.1);
自己执行一下就知道了
tianfang 2017-02-14
  • 打赏
  • 举报
回复
看精度要求 单精度浮点,7位整数时候就会出现不可用浮点数表示的整数,double多一倍。 金融行业,要求一分钱都不能差,否则就是业务故障,双精度浮点在汇总时候也会出现问题(十亿级时,精确到分)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧