📅  最后修改于: 2023-12-03 15:32:00.943000             🧑  作者: Mango
在Java中,我们可以使用Integer.decode()
方法将字符串转换为整数。该方法可以识别多种进制表示的数字,如十进制、十六进制和八进制。
public static Integer decode(String nm)
nm
:要转换为整数的字符串。
一个 Integer
对象,其中包含了字符串表示的数字所表示的整数值。
如果nm
以负号(-)开头,则返回一个十进制负整数值。否则,返回一个十进制正整数。
如果nm
以"0x"或"0X"开头,则将其后的字符串解释为十六进制正整数,并返回相应的Integer
对象。
如果nm
以0(零)开头,则将其后的字符串解释为八进制正整数,并返回相应的Integer
对象。注意,值0始终被解释为十进制0,在八进制表示法中没有单独的“0”值。
// 十进制字符串
Integer x = Integer.decode("42");
System.out.println(x); // 输出:42
// 十六进制字符串
Integer y = Integer.decode("0x2A");
System.out.println(y); // 输出:42
// 八进制字符串
Integer z = Integer.decode("052");
System.out.println(z); // 输出:42
如果nm
不能被解析为数字,则抛出 NumberFormatException
异常。
由于Integer.decode()
方法可以自动识别不同进制的数字表示法,因此在处理用户输入时非常有用。记住在使用时要注意异常处理,以防止程序抛出NumberFormatException
异常。