2

こんにちは、私はこのような大きな文字列を持っています:

"999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"

この文字列を long に変換したいと思います。しかし、私は失敗しました。やった:

Long.parseLong(longString);

しかし、私はエラーが発生しています:

java.lang.NumberFormatException: For input string: "99999999.......

これを回避する方法はありますか?

4

4 に答える 4

9

次のようにBigIntegerクラスを使用します。

 BigInteger number = new BigInteger(longString);
于 2012-10-19T04:02:54.650 に答える
4

を使用する必要がありますBigIntegerLongその大きな数に対応できない場合があります。

BigIntegerの javadoc は次のとおりです。

于 2012-10-19T04:02:18.137 に答える
3

長い: 参照

から までの値を格納するために 8 バイトを使用-9,223,372,036,854,775,808する9,223,372,036,854,775,807

回答の前に述べたように、を使用しますBigInteger

于 2012-10-19T06:08:46.500 に答える
3

Long ではなくBigIntegerを使用できます。

 BigInteger number = new BigInteger(longString);

Java BigInteger の例

于 2012-10-19T04:09:23.857 に答える