java.lang.Integer.parseUnsignedInt() 方法用于将字符串参数解析为基数中的无符号整数由第二个参数指定。无符号整数将通常与负数关联的值映射到大于 MAX_VALUE 的正数。字符串中的字符必须全部是指定基数的数字(由Character.digit(char, int)是否返回非负值决定),除了第一个字符可以是ASCII加号"+"("\u002B" ')。返回结果整数值。
如果发生以下任何情况,则会抛出 NumberFormatException 类型的异常:
- 第一个参数是null 或长度为零的字符串。
- 基数要么小于Character.MIN_RADIX,要么大于Character.MAX_RADIX。
- 字符串中的任何字符都不是指定的基数,但第一个字符可以是加号 '+' ('\u002B'),前提是字符串长度超过 1。
- 字符串表示的值大于最大值unsigned int, 232-1。
语法
public static int parseUnsignedInt(String s,
int radix)
throws NumberFormatException
参数
s | 指定包含要解析的无符号整数表示的字符串 |
基数 | 指定解析 s 时使用的基数。 |
返回值
返回字符串参数表示的整数在指定的基数中。
异常
如果字符串不包含可解析的 int,则抛出 NumberFormatException。
示例:
在下面的示例中,java.lang.Integer.parseUnsignedInt() 方法用于将字符串参数解析为指定基数的无符号整数。
import java.lang.*;
public class MyClass {
public static void main(String[] args) {
//创建一个保存unsigned int值的字符串
String x = "100";
String y = "6F";
//使用创建无符号int值
//基数为2(二进制)
int p = Integer.parseUnsignedInt(x, 2);
//使用创建无符号int值
//基数为16(十六进制)
int q = Integer.parseUnsignedInt(y, 16);
//打印字符串
System.out.println("The string x is: " + x);
System.out.println("The string y is: " + y);
//打印unsigned int值
System.out.println("The int value p is: " + p);
System.out.println("The int value q is: " + q);
}
}
上述代码的输出将是:
The string x is: 100
The string y is: 6F
The int value p is: 4
The int value q is: 111