本帖最后由 武庆东 于 2012-9-7 21:48 编辑
参看API解释
public static int parseInt(String s,
int radix)
throws NumberFormatException使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D’)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int) 是否返回一个负值确定)。返回得到的整数值。
参数:s - 包含要解析的整数表示形式的 Stringradix - 解析 s 时使用的基数。 返回:使用指定基数的字符串参数表示的整数。 抛出: NumberFormatException - 如果 String 不包含可解析的 int。
示例:
- parseInt("0", 10) 返回 0
- parseInt("473", 10)返回 473
- parseInt("-0", 10) 返回 0
- parseInt("-FF", 16) 返回 -255
- parseInt("1100110", 2) 返回 102
- parseInt("2147483647", 10) 返回 2147483647
- parseInt("-2147483648", 10) 返回 -2147483648
- parseInt("2147483648", 10) 抛出 NumberFormatException
- parseInt("99", 8) 抛出 NumberFormatException
复制代码
如果发生以下任意一种情况,则抛出一个 NumberFormatException 类型的异常:
1.第一个参数为 null 或一个长度为零的字符串。
2.基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。
3.假如字符串的长度超过 1,那么除了第一个字符可以是减号 '-' ('u002D’) 外,字符串中存在任意不是由指定基数的数字表示的字符。
4.字符串表示的值不是 int 类型的值。 |