Integer.parseInt(String s ,int radix)方法使用解释
来源:互联网 发布:淘宝美女店主 下海 编辑:程序博客网 时间:2024/05/16 04:50
方法parseInt(String s,int radix)的目的是输出一个十进制数,这个数字是“String s”但是我们要知道他是多少进制的,而方法中“int radix”参数正是来表达这个信息的。
比如:parseInt(1010,2)
意思就是:输出2进制数1010在十进制下的数.
更直白地说:parseInt(String s,int radix)就是求“int radix”进制数“String s”的十进制数是多少。
-----------------------
我们平时用到Integer.parseInt("123");其实默认是调用了int i =Integer.parseInt("123",10);
其中10代表的默认是10进制的,转换的过程可以看成:
i= 1*10*10+2*10+3
若是
int i = Integer.parseInt("123",16);
即可以看成:
i = 1*16*16+2*16+3 = 291
根据:Character.MIN_RADIX=2和Character.MAX_RADIX=36 则,parseInt(String s, int radix)参数中
radix的范围是在2~36之间,超出范围会抛异常。其中s的长度也不能超出7,否则也会抛异常。
比如:parseInt(1010,2)
意思就是:输出2进制数1010在十进制下的数.
更直白地说:parseInt(String s,int radix)就是求“int radix”进制数“String s”的十进制数是多少。
-----------------------
我们平时用到Integer.parseInt("123");其实默认是调用了int i =Integer.parseInt("123",10);
其中10代表的默认是10进制的,转换的过程可以看成:
i= 1*10*10+2*10+3
若是
int i = Integer.parseInt("123",16);
即可以看成:
i = 1*16*16+2*16+3 = 291
根据:Character.MIN_RADIX=2和Character.MAX_RADIX=36 则,parseInt(String s, int radix)参数中
radix的范围是在2~36之间,超出范围会抛异常。其中s的长度也不能超出7,否则也会抛异常。
源码如下:
public static int parseInt(String s, int radix)throws NumberFormatException { if (s == null) { throw new NumberFormatException("null"); }if (radix < Character.MIN_RADIX) { throw new NumberFormatException("radix " + radix + " less than Character.MIN_RADIX");}if (radix > Character.MAX_RADIX) { throw new NumberFormatException("radix " + radix + " greater than Character.MAX_RADIX");}int result = 0;boolean negative = false;int i = 0, max = s.length();int limit;int multmin;int digit;if (max > 0) { if (s.charAt(0) == '-') {negative = true;limit = Integer.MIN_VALUE;i++; } else {limit = -Integer.MAX_VALUE; } multmin = limit / radix; if (i < max) {digit = Character.digit(s.charAt(i++),radix);if (digit < 0) { throw NumberFormatException.forInputString(s);} else { result = -digit;} } while (i < max) {// Accumulating negatively avoids surprises near MAX_VALUEdigit = Character.digit(s.charAt(i++),radix);if (digit < 0) { throw NumberFormatException.forInputString(s);}if (result < multmin) { throw NumberFormatException.forInputString(s);}result *= radix;if (result < limit + digit) { throw NumberFormatException.forInputString(s);}result -= digit; }} else { throw NumberFormatException.forInputString(s);}if (negative) { if (i > 1) {return result; } else {/* Only got "-" */throw NumberFormatException.forInputString(s); }} else { return -result;} }
1 0
- Integer.parseInt(String s ,int radix)方法使用解释
- Integer.parseInt(String s ,int radix)方法使用解释
- Integer.parseInt(String s ,int radix)方法使用解释!
- java基础之Integer.parseInt(String s ,int radix)方法使用解释
- java基础之Integer.parseInt(String s ,int radix)方法使用解释
- java基础之Integer.parseInt(String s ,int radix)方法使用解释
- Integer.parseInt(String s,int radix)
- 关于Integer的parseInt(String s, int radix)方法的使用
- 关于Integer的parseInt(String s, int radix)方法的使用
- 关于Integer的parseInt(String s, int radix)方法的使用
- Integer.parseInt(String s, int radix)的用法
- Integer.parseInt(String s, int radix)方法介绍(修正版)
- 【java学习笔记(零散知识点)】Integer类 parseInt(String s ,int radix)方法
- int parseInt(String s, int radix)
- Integer.parseInt(s, radix)
- 详解public static int parseInt(String s, int radix)
- Integer与int的区别 Integer.Valueof(String s)与Integer.parseInt(String s)的区别
- Java.lang.Short.valueOf(String s, int radix)方法----理解
- CxImage::Save”: 不能将参数 1 从“const char [10]”转换为“const TCHAR *
- 人脸识别技术大总结——Face Detection & Alignment
- java操作word宏
- android Graphics
- in与exist , not in与not exist 的区别
- Integer.parseInt(String s ,int radix)方法使用解释
- extjs常用的items
- Http协议详解
- Eclipse+Maven创建webapp项目
- redis博客收藏
- R中字符串处理
- cocos 3.2 ListView渲染bug解决办法
- C#反射
- LeetCode 5 Longest Palindromic Substring(C,C++,Python,Java)