在 java 中将 0x1 转换为 1
Converting 0x1 to 1 in java
0x1 是 1 的十六进制形式。更多信息在此 link。
我正在尝试将 0x1
转换为 1
。所以我正在使用这段代码。
String hex = "0x1";
int decimal = Integer.parseInt(hex, 16);
System.out.println(decimal);
然而,它returns异常为
Exception in thread "main" java.lang.NumberFormatException: For input string: "0x1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at HelloWorld.main(HelloWorld.java:7)
如何让这个 java
代码打印 1?
您可以使用 Integer.decode:
String hex = "0x1";
int value = Integer.decode(hex);
System.out.println(value);
(注意:我已将整数变量从 'decimal' 重命名为 'value',因为它没有任何具体的十进制;它只是一个整数。它实际上在内部表示为二进制。)
0x1 是 1 的十六进制形式。更多信息在此 link。
我正在尝试将 0x1
转换为 1
。所以我正在使用这段代码。
String hex = "0x1";
int decimal = Integer.parseInt(hex, 16);
System.out.println(decimal);
然而,它returns异常为
Exception in thread "main" java.lang.NumberFormatException: For input string: "0x1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at HelloWorld.main(HelloWorld.java:7)
如何让这个 java
代码打印 1?
您可以使用 Integer.decode:
String hex = "0x1";
int value = Integer.decode(hex);
System.out.println(value);
(注意:我已将整数变量从 'decimal' 重命名为 'value',因为它没有任何具体的十进制;它只是一个整数。它实际上在内部表示为二进制。)