0x1是1的十六进制形式。更多信息在此链接中
我正在尝试将0x1
转换为1
。所以我使用这个代码。
String hex = "0x1";
int decimal = Integer.parseInt(hex, 16);
System.out.println(decimal);
但是,它将异常返回为
线程中的异常"主";java.lang.NumberFormatException:对于输入字符串:"0x1">
在java.lang.NumberFormatException.forInputString(NumberFormatException.java:65(
在java.lang.Integer.parseInt(Integer.java:580(
HelloWorld.main(HelloWorld.java:7(
如何使此java
代码打印1?
您可以使用Integer.decode:
String hex = "0x1";
int value = Integer.decode(hex);
System.out.println(value);
(注意:我已经将integer变量从"decimal"重命名为"value",因为它没有特别的十进制;它只是一个整数。它实际上在内部表示为二进制。(