非负十六进制转十进制报错“NumberFormatException”,parseInt 不接受 0x或 0X,必须去掉

Posted 尚墨1111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非负十六进制转十进制报错“NumberFormatException”,parseInt 不接受 0x或 0X,必须去掉相关的知识,希望对你有一定的参考价值。

报错

java.lang.NumberFormatException: For input string: "0x76E"

	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.base/java.lang.Integer.parseInt(Integer.java:652)
	

代码

 @Test
    public void test(){
        String s=  "0x76E";
        System.out.println(Integer.parseInt(s,16));
        //原因是,parseInt和parseLong不接受 0x或 0X,必须去掉
        //或者使用 Integer.decode()方法也可以

        Integer decode = Integer.decode(s);//输出1902;
        
        Integer.parseInt("76E",16);//输出1902;
       

    }

以上是关于非负十六进制转十进制报错“NumberFormatException”,parseInt 不接受 0x或 0X,必须去掉的主要内容,如果未能解决你的问题,请参考以下文章

十进制转十六进制

10进制转16进制

在全局线程中更改 NumberFormat 分隔符后,十进制解析抛出异常 [关闭]

python十进制转二进制数组求解,急

不连续1的非负整数--我只会无脑的数位dp

DELPHI7的十六进制转10进制函数