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

有这么一个需求,一个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";
		}





版权声明:本文为benkwok原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。