Noy*_*oya 215 java int parsing char parseint
我只是想知道是否有更好的解决方案来解析字符串中的字符中的数字(假设我们知道索引n处的字符是数字).
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
Run Code Online (Sandbox Code Playgroud)
(没用说,这只是一个例子)
Bar*_*ers 426
试试Character.getNumericValue(char).
String element = "el5";
int x = Character.getNumericValue(element.charAt(2));
System.out.println("x=" + x);
Run Code Online (Sandbox Code Playgroud)
生产:
x=5
Run Code Online (Sandbox Code Playgroud)
最好的事情getNumericValue(char)是,它也适用于字符串,"el?"以及"el?"在哪里?和?分别是东阿拉伯语和印地语/梵语中的数字5.
vas*_*shu 58
请尝试以下方法:
str1="2345";
int x=str1.charAt(2)-'0';
//here x=4;
Run Code Online (Sandbox Code Playgroud)
如果你用char'0'减去,则不需要知道ASCII值.
Ale*_*noy 33
从性能的角度来看,这可能是最好的,但它很粗糙:
String element = "el5";
String s;
int x = element.charAt(2)-'0';
Run Code Online (Sandbox Code Playgroud)
如果你假设你的角色是一个数字,它只能用于总是使用Unicode的语言,比如Java ......
小智 16
通过简单地减去char'0'(零),char(数字'0'到'9')可以转换成int(0到9),例如'5' - '0'给出int 5.
String str = "123";
int a=str.charAt(1)-'0';
Run Code Online (Sandbox Code Playgroud)
小智 6
String a = "jklmn489pjro635ops";
int sum = 0;
String num = "";
boolean notFirst = false;
for (char c : a.toCharArray()) {
if (Character.isDigit(c)) {
sum = sum + Character.getNumericValue(c);
System.out.print((notFirst? " + " : "") + c);
notFirst = true;
}
}
System.out.println(" = " + sum);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
528699 次 |
| 最近记录: |