5

多くの 16 進数を含むファイルがあります (例: - 0X3B4 )。これらの数値を整数に割り当てるようにこのファイルを解析しようとしていますが、Integer.parseIntが機能しないようです。

   int testint = Integer.parseInt("3B4",16);  <- WORKS

   int testint = Integer.parseInt("0X3B4",16);

エラーが発生します:

Exception in thread "main" java.lang.NumberFormatException: For input string: "0x3b4"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

値 0XB4 を int に割り当てる正しい方法は何ですか?

0X を取り除く必要がありますか?このように 16 進数を表すのは珍しいことではありません...

4

1 に答える 1

8

できるよ

int hex = Integer.decode("0x3b4");

parseInt と parseLong が 0x または 0X を受け入れないことは正しい

于 2013-09-27T00:17:38.337 に答える