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