首页 > 其他 > 详细

double转BigDecimal的精度问题

时间:2020-07-17 18:14:49      阅读:56      评论:0      收藏:0      [点我收藏+]

1.问题 : 今天在写代码 将double 转成BigDecimal 的时候 , 发现转成的数据跟原数据不太一样

double b=57.3;
 
                   BigDecimal decimalB=new BigDecimal(b);
 
                   System.out.println(decimalB);





//结果
57.2999999999999971578290569595992565155029296875

很明显 , 精度丢失.

2.解决 : 

               double c=57.3;
 
                   BigDecimal decimalC=new 
 BigDecimal(Double.toString(c));
 
                   System.out.println(decimalC);
 
                  
 
                   double d=57.3;
 
                   BigDecimal decimalD=BigDecimal.valueOf(d);
 
                   System.out.println(decimalD);

//结果
57.3

57.3

借鉴原文 :https://www.cnblogs.com/yunliu0603/p/10064996.html

这位老哥写的比较细 , 我的写的主要是给自己看的 ..哈哈....

double转BigDecimal的精度问题

原文:https://www.cnblogs.com/Anonymity-zhang/p/13331370.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!