BigDecimal bd1= new BigDecimal(0.000);
bd1 = bd1.setScale(2, RoundingMode.HALF_UP).stripTrailingZeros();
System.out.println("bd1 value::"+ bd1);


我得到bd1的以下0.00,但我希望bd1作为.00而不是0.00。我是否正确应用了方法?

最佳答案

您可以将BigDecimal转换为String,然后使用正则表达式有条件地删除前导零(如果存在):

BigDecimal bd1 = new BigDecimal(0.000);
bd1 = bd1.setScale(2, RoundingMode.HALF_UP).stripTrailingZeros();
String bdString = bd1.toString().replaceFirst("^0+(?!$)", "")
System.out.println("bd1 value::"+ bdString);

09-27 12:30