2

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

  1. 100.0 显示为“100”
  2. 100.123 显示为“100.123”
  3. 100.123456789012345 显示为“100.123456789012345” 使用格式为

new DecimalFormat("0.###");部分正确。它适用于第一种情况,第二种情况,但不适用于第三种情况。因为,我不知道我#应该有多少?

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

4

1 回答 1

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
于 2012-09-29T10:10:09.783 回答