-2

メインメソッドで作業しているコードは次のとおりです。

String numbers = "12345678900";
long upc = Integer.parseInt(numbers);
System.out.println(upc);

私に与えます:

Exception in thread "main" java.lang.NumberFormatException: For input string: "12345678900"
at java.lang.NumberFormatException.forInputString...
at java.lang.Integer.parseInt....
at java.lang.Integer.parseInt...
at testRun.main...

double は使用できません。小数点なしの値として格納する必要があります。文字列から数字を保持する変数に数字の文字列を取得しようとしています(小数なし)

4

6 に答える 6

7

を解析するには、notlongを使用します。そうすれば、値の全範囲にアクセスできます (一方、では、かなり制限された範囲の値しか取得できません)。Long.parseLongInteger.parseIntlongparseIntint

于 2013-01-28T06:27:29.603 に答える
1

使用する

String numbers = "12345678900";
long upc = Long.parseLong(numbers);
System.out.println(upc);
于 2013-01-28T07:02:43.903 に答える
0

使用する

long upc = Long.parseLong(numbers);
于 2013-01-28T06:28:58.120 に答える
0

あなたの数字は整数に収まらないほど長いです。したがって、整数でキャストすることはできません。を呼び出すことで、Long でキャストできますLong.parseLong(number)

于 2013-01-28T06:29:55.627 に答える
0

渡された数値は、-2,147,483,648 から 2,147,483,647 までの整数の範囲外です。静的関数 parseLong を使用してみてください

于 2013-01-28T06:26:42.797 に答える