我们可以删除 BigDecimal 中小数点前的浮零吗

can we remove floating zero before decimal point in BigDecimal

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);