使用BigDecimal原生方法stripTrailingZeros实现末尾去0

来源:互联网 发布:淘宝问卷调查报告 编辑:程序博客网 时间:2024/06/05 16:17

有这么一个需求,一个BigDecimal值,四舍五入计算到小数点后4位,如果小数点后3、4位是0则去掉,保留到小数点后两位

即20.00345 显示成20.0035

20 显示 20.00

20.00395 显示 20.004

发现BigDecimal原生提供了stripTrailingZeros方法可以实现去掉末尾的0,然后使用toPlainString可以输出数值,注意这里如果使用toString() 会变成科学计数法输出,

但对于要保留两位小数0的情况这里会变成显示20,即不带小数点后两位,只能通过字符串判断加上,难看点但算是实现了这个偏门的需求。


if(retStr.indexOf(".")==-1) {retStr = retStr+".00";}




0 0
原创粉丝点击