Ich möchte nur wissen, ob es eine bessere Lösung gibt, um eine Zahl aus einem Zeichen in einer Zeichenfolge zu analysieren (vorausgesetzt, wir wissen, dass das Zeichen am Index n eine Zahl ist).
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
(nutzlos zu sagen, dass es nur ein Beispiel ist)
'0', '1', '2', ...
in ascii aufsteigend sind. Also zB '0' in ASCII ist 48, '1' ist 49 usw. Wenn du also nimmst'2' - '0'
, bekommst du wirklich nur50 - 48 = 2
. Schauen Sie sich eine ASCII-Tabelle an, um dieses Prinzip besser zu verstehen.'x'
Bedeutet auch, den ASCII-Wert des Zeichens in Java abzurufen.- '0'
funktioniert hat ... Ich dachte, es wäre eine tiefe Magie, wie Java Zeichen oder was auch immer interpretierte ... das war wirklich ein Fall von mir,Character.getNumericValue
Das ist wahrscheinlich das Beste aus Sicht der Leistung, aber es ist rau:
Es funktioniert, wenn Sie annehmen, dass Ihr Zeichen eine Ziffer ist, und nur in Sprachen, die immer Unicode verwenden, wie Java ...
quelle
"el५"
in der५
sich die Ziffer 5 in Indien befindet. :)'0'
den ganzzahligen Wert zurückgeben?Durch einfaches Subtrahieren von char '0' (Null) kann ein Zeichen (von Ziffer '0' bis '9') in int (0 bis 9) umgewandelt werden, z. B. '5' - '0' ergibt int 5.
quelle
quelle
Verwenden von Binär
AND
mit0b1111
:quelle
Subtrahieren des ASCII-Werts von '0' = 48 von char
quelle