我应该使用哪种 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");
但是第一个格式化程序会截掉零,而第二个格式化程序会将它们放在不需要的地方。
最佳答案
我认为您不能使用格式化程序直接完成此操作。您可以做的是将 Decimal 包装在一个类中,您可以在其中存储实例化时计算的适当格式字符串:
class MyBigDecimal {
String asString;
BigDecimal n;
public MyBigDecimal(String asString) {
this.asString = asString;
n = new BigDecimal(asString);
}
}
关于java - BigDecimal 的 DecimalFormat 模式。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31536198/