我知道parseInt
方法用于将字符串转换为int,但我不知道如何。我明白,如果你说:
System.out.println(Integer.parseInt("52", 10));
将给你52基数10.我不知道的是,如果你说用15替换基数10,它是如何精确计算的。从一些研究中,我发现有人说你必须使用ASCII值。如果它有帮助,我试图能够单独在纸上解决这个问题,而无需更多代码的工作。
答案 0 :(得分:6)
你是对的,数字代表基数。你是对的
Integer.parseInt("52", 10)
会在基数10中给你52个。
这实际上将解析数字52 就像在基数10中一样。对于我们所知道的,52可能是基数为6.
例如:
Integer.parseInt("101", 2);
是说解析二进制(基数2)的数字1-zero-one。 不说解析一百一十二进制二进制。这将返回基数为10的数字。
返回的任何数字都是标准整数,如果您尝试打印它将在基数10中。
值得注意的是,如果你尝试解析一个在该基数中不可能存在的数字,例如:
Integer.parseInt("599", 2);
然后你会得到一个例外。
答案 1 :(得分:3)
您正在解析的字符串可能位于特定的基础中,您使用radix命令提供该字符串以解析为int。 int是一个数值,本身没有特定的基数。
实施例
<ion-tabs>
<ion-tab *ngFor="let tab of tabs" [root]="tab.root" [tabTitle]="tab.title" [tabIcon]="tab.icon"></ion-tab>
</ion-tabs>
答案 2 :(得分:2)
parseInt(String s, int radix)
方法的工作原理如下:
radix
参数。它应该在
范围2 - 36 radix
相乘并逐步添加到结果变量算法非常简单。一项重要的工作是由验证数字是否有效的部分完成的。
围绕此代码,有一些检查最终会导致NumberFormatException
,例如在数字之前存在有效符号(+
或-
),存在前导零,溢出等等。