我有这个输入像如何将字符串值转换为整数而不使用Integer.parseInt()?
String s = "6" , ss="99 , sss = "99999";
我需要这些值存储在一个int引用变量, 不使用的Integer.parseInt
任何建议? ,没有完整的代码,只是提示?
我有这个输入像如何将字符串值转换为整数而不使用Integer.parseInt()?
String s = "6" , ss="99 , sss = "99999";
我需要这些值存储在一个int引用变量, 不使用的Integer.parseInt
任何建议? ,没有完整的代码,只是提示?
扫描仪怎么样?
int a=new Scanner(s).nextInt();
没有util。
public static int parseInt(String s)
{
int ans=0;
for(int i=s.length()-1;i>=0;i--)
{
ans+=(s.charAt(i)-'0');
ans*=10;
}
return ans/10;
}
其他选项'int i = new BigInteger(“123”)。intValue();' – Pshemo 2015-02-17 22:58:01
尝试从字符串中获取每个字符,然后获取每个字符的值。 0的值为48所以
char c = '9';
int i = c - 48;
现在i = 9
。之后,你只需要为10,适当的功率乘以此值,并把它添加到总
public class MyStringToNumber {
public static int convert_String_To_Number(String numStr){
char ch[] = numStr.toCharArray();
int sum = 0;
//get ascii value for zero
int zeroAscii = (int)'0';
for(char c:ch){
int tmpAscii = (int)c;
sum = (sum*10)+(tmpAscii-zeroAscii);
}
return sum;
}
public static void main(String a[]){
System.out.println("\"3256\" == "+convert_String_To_Number("3256"));
System.out.println("\"76289\" == "+convert_String_To_Number("76289"));
System.out.println("\"90087\" == "+convert_String_To_Number("90087"));
}
}
多见于this URL。
或者您也可以使用此代码 – 2016-05-16 06:24:42
将第二种解决方案添加到答案中,很难将其视为未格式化的评论 - 您可以[编辑] 答案。 – 2016-05-16 06:38:33
public class ConvertIntoInt {
public static void main(String []args) {
String numStr = "3256";
char ch[] = numStr.toCharArray();
int sum = 0;
// Get ASCII value for zero
int zeroAscii = (int)'0';
for (char c:ch) {
int tmpAscii = (int)c;
System.out.println("Temp Ascii:" + tmpAscii);
sum = (sum * 10) + (tmpAscii - zeroAscii);
System.out.println(sum);
}
System.out.println(sum);
}
}
提示:''6' - '0'= 6' – clcto 2015-02-17 22:54:46
将'Integer.parseInt'中的代码复制到一个新的方法中。 “ – 2015-02-17 22:55:21
”*不使用'Integer.parseInt' *“为什么?这看起来像[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你想达到什么目的? – Pshemo 2015-02-17 22:56:06