我正在寻找一种方法将字符串转换为int,然后提取并返回此int中的前4位数字。
注意:它必须保留为String,以便其他方法正常工作。
答案 0 :(得分:8)
请尝试以下操作:
String str = "1234567890";
int fullInt = Integer.parseInt(str);
String first4char = str.substring(0,4);
int intForFirst4Char = Integer.parseInt(first4char);
无论您希望前四个字符的整数使用intForFirst4Char
,还是希望使用适当的字符串。
希望这有帮助。
答案 1 :(得分:8)
Integer.parseInt(myIntegerString.substring(0, 4))
另外,请阅读JDK:
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html
答案 2 :(得分:1)
您可以使用以下内容:
Integer.parseInt("123".substring(0, 2))
OR
int temp = 12345678;
int result = temp / (int)Math.pow(10, (int)(Math.log10(temp) - 1))
答案 3 :(得分:0)
public class ExtractingDigits {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num = 1542,ans=0;
for(int i=1; i<=4; i++){
ans=num%10;
System.out.println(ans);
num = num/10;
}
}
}
答案 4 :(得分:0)
这将为您提供数组中的数字
public Integer[] convertNumbertoArrayLtoR(Integer[] array, Integer number, Integer maxDivisor, Integer i)
{
if (maxDivisor > 0)
{
Integer digit = number/maxDivisor;
array[i] = digit;
number = number%maxDivisor;
maxDivisor = (int) Math.floor(maxDivisor/10);
i++;
convertNumbertoArrayLtoR(array, number, maxDivisor, i);
}
return array;
}
通话方法
digitArrayLR = convertNumbertoArrayLtoR(digitArrayLR, numberInput, maxDivisor, 0);