2

現在、DecimalFormat小数点以下の最大桁数を表示したい、またはまったく表示しないようにしたいと考えています。例えば、

  1. 100.0 は「100」と表示
  2. 「100.123」と表示される100.123
  3. 100.123456789012345 は"100.123456789012345"として表示され ます。

new DecimalFormat("0.###");部分的に正しいです。1 番目のケース、2 番目のケースでは機能しますが、3 番目のケースでは機能しません。として、私はどれくらい#持っているべきか分かりませんか?

それで、私が使用すべき正しいものを知ってもいい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 に答える