在java中将0x1转换为1



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",因为它没有特别的十进制;它只是一个整数。它实际上在内部表示为二进制。(

最新更新