我应该使用什么样的DecimalFormat,以便在格式化BigDecimals时使用
new BigDecimal("4235886589.00000");
new BigDecimal("4235886589.0000030000");
new BigDecimal("4235886589.0");
new BigDecimal("4235886589");
输出必须具有以下外观:
4,235,886,589.00000; 4,235,886,589.0000030000; 4,235,886,589.0; 4,235,886,589;
所以基本上我试图写一个最终不会切断零的模式,如果没有必要就不会把它们放进去。我尝试用模式处理它:
DecimalFormat formatter = new DecimalFormat("#,###,##0.########");
DecimalFormat formatter = new DecimalFormat("#,###,##0.000000");
但是第一个格式化程序会切断零,而第二个格式化程序会将它们放在不必要的位置。
答案 0 :(得分:1)
我不认为你可以使用格式化程序直接做到这一点。您可以做的是将Decimal包装在一个类中,您可以在该类中存储在实例化时计算的相应格式字符串:
class MyBigDecimal {
String asString;
BigDecimal n;
public MyBigDecimal(String asString) {
this.asString = asString;
n = new BigDecimal(asString);
}
}