bigdecimal 使用 stripTrailingZeros() 去除多余的小数末位 0 ,变为科学计数法的解决办法

  bigdecimal 类是java 中解决高精度数字加减乘除的类。其中 stripTrailingZeros() 内置函数是去掉小数未位上是0的功能。在使用过程中发现 使用它后,整数是 70或者 100 的数据会变为科学技术法。

复制代码
  //lysl 是 70
  BigDecimal zsl=lccb_jpsl.subtract(lysl);
  String s_zsl = zsl.stripTrailingZeros().toString();
  
  //zsl 的值 :70,而 s_zsl 值是:7E+1
  
  //修改为一下代码 toString() 替换为 toPlainString()
  
  BigDecimal zsl=lccb_jpsl.subtract(lccb_lysl);
 String s_zsl = zsl.stripTrailingZeros().toPlainString();
 
 //zsl 的值 :70,而 s_zsl 值是:70
复制代码

  在把  zsl.stripTrailingZeros().toString(); 里面的 toString() 修改为 toPlainString() 就解决了这个问题

posted @   彭卫强  阅读(1683)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
本文原创,文中若有表述不清或存在问题,欢迎指正。共同学习
点击右上角即可分享
微信分享提示