我知道该parseInt方法用于将字符串转换为int,但我不知道如何.我明白,如果你说:
System.out.println(Integer.parseInt("52", 10));
Run Code Online (Sandbox Code Playgroud)
会给你52基数10.我不知道的是,如果你说用10替换基数10,它是如何精确计算的.从一些研究中,我发现有人说你必须使用ASCII值.如果它有帮助,我试图能够单独在纸上解决这个问题,而无需更多代码的工作.
你是对的,数字代表基数.你是对的
Integer.parseInt("52", 10)将给你52基地10.
事实上,这将解析数字52 ,好像它在基数10中一样.对于我们所知道的,52可以是基数6.
例如:
Integer.parseInt("101", 2);
Run Code Online (Sandbox Code Playgroud)
是说解析二进制(基数2)数字一 - 零一.它并不是说将二十一解析为二进制.这将返回基数10的数字5.
返回的任何数字都是标准整数,如果您尝试打印它将在基数10中.
值得注意的是,如果您尝试解析一个不可能存在于该基数中的数字,例如:
Integer.parseInt("599", 2);
Run Code Online (Sandbox Code Playgroud)
然后你会得到一个例外.
小智 5
您正在解析的字符串可能位于您使用 radix 命令提供的特定基数中以解析为 int。int 是一个数值,本身没有特定的基数。
例子
Integer.parseInt("52", 10) returns 52
Integer.parseInt("52", 8) returns the numerical value 42 (8*5+2)
Integer.parseInt("A2", 16) returns the base 10 value 162
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4429 次 |
| 最近记录: |