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

时间:2015-07-13 04:17:30

标签: java 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。我正确应用这些方法吗?

1 个答案:

答案 0 :(得分:1)

您可以将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);
相关问题