Ich habe einen String der aus lauter Ziffern besteht. Wie kann ich ihn eine Zahl umwandeln?
z.B. "124" soll zu 124 werden. Meine Funktion liefert seltsame Werte:
Ich weiß schon, das es vermutlich an Math.pow und des unguten typen von double zu int liegt, aber wie soll ich sonst potenzieren? Uebrigens so etwas
funktioniert und e ist 800000 wie man es sich erwarten würde, aber wieso?
z.B. "124" soll zu 124 werden. Meine Funktion liefert seltsame Werte:
Java:
public int stringToNum(String a){
int r=0;
for(int i=a.length()-1; i>=0; i--){
char c=a.charAt(i);
switch(c){
case '1': r+=1*((int)Math.pow(i, 10));break;
case '2': r+=2*((int)Math.pow(i, 10));break;
case '3': r+=3*((int)Math.pow(i, 10));break;
case '4': r+=4*((int)Math.pow(i, 10));break;
case '5': r+=5*((int)Math.pow(i, 10));break;
case '6': r+=6*((int)Math.pow(i, 10));break;
case '7': r+=7*((int)Math.pow(i, 10));break;
case '8': r+=8*((int)Math.pow(i, 10));break;
case '9': r+=9*((int)Math.pow(i, 10));break;
default: r+=0;
}
}
return r;
}
Java:
int e=8*(int)Math.pow(10, 5);