0

私は現在、長い計算を行う数学アプリケーションを開発しています。9桁を超える整数を入力するたびに、java.lang.NumberFormatException:Invalid int: "..."エラー(...は非常に長い数値に置き換えられます)が発生します。9桁以下の整数を入力すると、アプリケーションは正常に実行されます。出力をintにする必要があります(つまり、小数点以下の桁数は必要ありません)。エラーが発生している理由がよくわかりません。

問題の原因となっているコードは次のとおりです。

Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.NUMBER);
int inp = Integer.parseInt(message);
4

2 に答える 2

2

an の最大値intは 2 31 -1、つまり 2,147,483,647 です。それより大きい数値を解析しようとすると、例外がスローされます。

より大きな数を処理する必要がある場合longは、一般的により大きな範囲 (最大 2 63 -1) を使用するかBigInteger、任意のサイズを使用します。

于 2012-08-30T15:57:57.320 に答える
0

Java のintデータ型は、-2,147,483,648 ~ 2,147,483,647 (両端を含む) の値に制限されています。より大きな「整数」値が必要な場合は、longデータ型を使用することをお勧めします。

于 2012-08-30T15:58:56.207 に答える