Wie konvertiere ich in JavaScript eine Zeichenkette in eine ganze Zahl?
Verwendung von parseInt
würde für einen Schwimmer nicht richtig funktionieren. parseFloat
funktioniert in diesem Fall ordnungsgemäß.
Wie konvertiere ich in JavaScript eine Zeichenkette in eine ganze Zahl?
Verwendung von parseInt
würde für einen Schwimmer nicht richtig funktionieren. parseFloat
funktioniert in diesem Fall ordnungsgemäß.
Dies ist ein berechtigtes Anliegen - sogar parseInt("2e2"), das eine ganze Zahl ist, wäre 200, wenn parseInt die Exponentialschreibweise verstehen würde, aber es gibt tatsächlich 2 zurück, weil es das nicht tut.
Um einen String in einen Integer zu konvertieren, empfehle ich die Verwendung von parseFloat und NICHT parseInt. Hier ist der Grund dafür:
Verwendung von parseFloat:
parseFloat('2.34cms') //Output: 2.34
parseFloat('12.5') //Output: 12.5
parseFloat('012.3') //Output: 12.3
Mit parseInt:
parseInt('2.34cms') //Output: 2
parseInt('12.5') //Output: 12
parseInt('012.3') //Output: 12
Wie Sie bemerkt haben, verwirft parseInt die Werte nach den Dezimalstellen, während parseFloat Sie mit Fließkommazahlen arbeiten lässt und daher besser geeignet ist, wenn Sie die Werte nach den Dezimalstellen beibehalten wollen. Verwenden Sie parseInt nur, wenn Sie sich sicher sind, dass Sie einen Integer-Wert benötigen.
@AlexanderVasilyev Ich denke, das kann man, würde man nicht einfach eine zusätzliche Klammer um die +
?
In JavaScript gibt es viele Möglichkeiten, eine Zeichenkette in einen Zahlenwert umzuwandeln... Alle einfach und praktisch, wählen Sie den Weg, der für Sie funktioniert:
var num = Number("999.5"); //999.5
var num = parseInt("999.5", 10); //999
var num = parseFloat("999.5"); //999.5
var num = +"999.5"; //999.5
Auch jede Mathematik Operation wandelt sie in Zahlen um, zum Beispiel...
var num = "999.5" / 1; //999.5
var num = "999.5" * 1; //999.5
var num = "999.5" - 1 + 1; //999.5
var num = "999.5" - 0; //999.5
var num = Math.floor("999.5"); //999
var num = ~~"999.5"; //999
Ich bevorzuge den Weg über +
Zeichen, was die elegante Art ist, eine Zeichenkette in JavaScript in eine Zahl umzuwandeln.
Das dritte Beispiel verursacht eine SyntaxError
sollten Sie einen Doppelpunkt verwenden, z. B.: 2..toInt();
der erste Punkt beendet die Darstellung einer Number
Literal und der zweite Punkt ist der Eigenschafts-Accessor.
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 .