要么显示最大小数位数,要么根本不显示

时间:2012-09-29 09:48:55

标签: java android

目前,使用DecimalFormat我希望显示最大小数位数,或根本不显示。例如,

  1. 100.0显示为“100”
  2. 100.123显示为“100.123”
  3. 100.123456789012345显示为“100.123456789012345” 使用格式
  4. new DecimalFormat("0.###");部分正确。它适用于第一种情况,第二种情况但不适用于第三种情况。至于,我不知道我应该有多少#

    那么,我可以知道我应该使用哪个正确的DecimalFormat吗?

1 个答案:

答案 0 :(得分:4)

您可以使用setMaximumFractionDigits()执行此操作。最大值为340,因此也可以将其设置为该值:

public static void main(String[] args) {
    DecimalFormat formatter = new DecimalFormat();
    formatter.setMaximumFractionDigits(340);
    BigDecimal[] numbers = {new BigDecimal("100.0"), new BigDecimal("100.123"), new BigDecimal("100.123456789012345")};
    for (BigDecimal number : numbers) {         
        System.out.println(formatter.format(number));
    }
}

打印

100
100.123
100.123456789012345