0

皆さんこんにちは、

Double d = 1.000000000000000000000000000000001;
        System.out.println(d);

上記のコードは 1.0 を出力しますが、d に値全体を格納したいのです。望ましい出力は 1.0000000000000000000000000000001 でした

私の懸念は、この値を double に格納する方法ですか? double が格納できる小数点以下を増やす方法はありますか? 私を導いてください

4

2 に答える 2

4

BigDecimalを使用する必要があります。

例:

BigDecimal test = new BigDecimal("1.000000000000000000000000000000001");
System.out.println(test);

を使用して同じことを表現できない理由は、double64doubleビットであるためです。

于 2012-06-19T05:47:27.717 に答える
0

http://en.wikipedia.org/wiki/Double-precision_floating-point_format

上記のリンクのように、 double には合計 64 の 53 の 10 進ビットがあり、16 の小数点以下の桁数を格納できます

于 2012-06-19T06:41:33.770 に答える