Wie konvertiere ich in JavaScript eine Zeichenkette in eine ganze Zahl?
Dies wurde bereits in einer früheren Antwort behandelt, Nosrednas Antwort .
Wie konvertiere ich in JavaScript eine Zeichenkette in eine ganze Zahl?
Dies ist (wahrscheinlich) nicht die beste Lösung für Parsing eine ganze Zahl, aber wenn Sie eine "extrahieren" müssen, zum Beispiel:
"1a2b3c" === 123
"198some text2hello world!30" === 198230
// ...
würde dies funktionieren (nur für ganze Zahlen):
var str = '3a9b0c3d2e9f8g'
function extractInteger(str) {
var result = 0;
var factor = 1
for (var i = str.length; i > 0; i--) {
if (!isNaN(str[i - 1])) {
result += parseInt(str[i - 1]) * factor
factor *= 10
}
}
return result
}
console.log(extractInteger(str))
Natürlich würde dies auch für das Parsen einer Ganzzahl funktionieren, wäre aber langsamer als andere Methoden.
Man könnte auch ganze Zahlen mit dieser Methode analysieren und zurückgeben NaN
wenn die Zeichenkette keine Zahl ist, aber ich wüsste nicht, warum man das tun sollte, da dies auf parseInt
intern und parseInt
ist wahrscheinlich schneller.
var str = '3a9b0c3d2e9f8g'
function extractInteger(str) {
var result = 0;
var factor = 1
for (var i = str.length; i > 0; i--) {
if (isNaN(str[i - 1])) return NaN
result += parseInt(str[i - 1]) * factor
factor *= 10
}
return result
}
console.log(extractInteger(str))
Alle oben genannten Punkte sind richtig. Bitte vergewissern Sie sich vorher, dass es sich um eine Zahl in einem String handelt, indem Sie "typeot x === 'Zahl'" eingeben, sonst wird NaN zurückgegeben
var num = "fsdfsdf242342";
typeof num => 'string';
var num1 = "12423";
typeof num1 => 'number';
+num1 = > 12423`
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
7 Stimmen
Auf dieser Seite finden Sie unten eine gute Tabelle, in der verschiedene Umrechnungsmethoden verglichen werden: medium.com/@nikjohn/
1 Stimmen
In Ermangelung einer Klärung durch den Auftraggeber könnte diese Frage im Sinne einer Umwandlung interpretiert werden jede Zeichenkette in eine Zahl umzuwandeln, d.h. "Hund" in eine Zahl zu verwandeln (was natürlich auch möglich ist).
2 Stimmen
Er hat den Köder geschluckt: @DanielCarrera und doch hat niemand hier die Frage in diesem Sinne interpretiert. Wahrscheinlich, weil sie, wenn das das Ziel gewesen wäre, sehr wahrscheinlich ganz anders formuliert worden wäre. Schließlich wird das Verfahren, das dabei zum Einsatz kommt ("Hashing"), nicht als "Hash" bezeichnet und wurde auch nie als " Konvertierung zu einer ganzen Zahl".
0 Stimmen
Para Nicht-Standard Standort (Bsp.
123456789.123
es123456789,12
infr-FR
) siehe diese Diskussion0 Stimmen
Um Zahlen mit anderen Zahlensystemen (z. B. Persisch/Farsi oder Arabisch) zu analysieren, siehe diese Stelle y diese Stelle .