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

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

相关文章:

  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2021-05-27
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-18
  • 2021-11-18
  • 2021-11-18
  • 2021-07-21
  • 2021-05-09
相关资源
相似解决方案