我有String,我想转换成Integer。
示例 - 我的字符串格式为
输入:ABCD00000123
输出:123
先谢谢
答案 0 :(得分:8)
// First remove all non number characters from String
input= input.replaceAll( "[^\\d]", "" );
// Convert it to int
int num = Integer.parseInt(input);
例如
input = "ABCD00000123";
之后
input= input.replaceAll( "[^\\d]", "" );
输入将是" 00000123"
int num = Integer.parseInt(input);
int
将是123.
如果输入始终采用问题中提到的格式,这是一个简单的解决方案。考虑到数字字符相对于非数字字符的位置,可以有多种情况
0123ABC
0123ABC456
ABC0123DE
答案 1 :(得分:1)
String s = "ABCD00000123"
int output = Integer.parseInt(s.subString(4));
System.out.println(output);
答案 2 :(得分:0)
我可以告诉你它的逻辑...把这个String转换成一个字符数组,然后从第一个索引(对于数组为0)解析它,直到长度并检查第一个非零整数,然后从该位置到String的剩余长度将其复制到另一个String,然后使用Integer.parseInt()解析它;
String val = "ABCD00000123";
String arr[] = val.toCharArray();
int cnt;
for(cnt = 0 ; cnt < arr.length; cnt++){
switch(arr[cnt]){
/*Place your logic here to check the first non-zero number*/
}
}
然后按照剩下的逻辑。
如果你有足够的编程概念,那么只有你能做到......