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() 就解决了这个问题