Ich möchte die Zeichenfolge "15,678" in einen Wert 15678 konvertieren. Die Methoden parseInt()
und parseFloat()
geben beide 15 für "15.678" zurück. Gibt es einen einfachen Weg, dies zu tun?In JavaScript/jQuery, was ist der beste Weg, um eine Zahl mit einem Komma in eine ganze Zahl zu konvertieren?
Antwort
Die einfachste Möglichkeit ist es, alle Kommas zu entfernen: parseInt(str.replace(/,/g, ''), 10)
Sie können es wie folgt tun:
var value = parseInt("15,678".replace(",", ""));
Eine Möglichkeit ist es, alle Kommas entfernen mit:
strnum = strnum.replace(/\,/g, '');
und dann übergeben, dass parseInt:
var num = parseInt(strnum.replace(/\,/g, ''), 10);
Aber Sie müssen hier vorsichtig sein. Die Verwendung von Kommas als Tausendertrennzeichen ist eine kulturelle Sache. In einigen Gebieten würde die Nummer 1,234,567.89
1.234.567,89
geschrieben werden.
'parseInt()' sollte beim Aufruf ein Radix sein, um die Hex-Interpretation einer Zahl zu eliminieren. –
einen regulären Ausdruck Verwenden Sie die Kommas vor Parsen, wie diese
parseInt(str.replace(/,/g,''), 10)
//or for decimals as well:
parseFloat(str.replace(/,/g,''))
You can test it here zu entfernen.
Wenn Sie nur haben Zahlen und Kommas:
+str.replace(',', '')
Die +
wirft die Zeichenfolge str
in eine Reihe, wenn er kann. Damit dies so klar wie möglich, wickeln Sie es mit Pars:
(+str.replace(',', ''))
daher, wenn Sie es in einer Anweisung verwenden, es ist getrennt visuell (+ + x sehr ähnlich aussieht x ++):
var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));
Javascript-Code-Konventionen (Siehe „Verwirrende Vor- und Nachteile“, zweiten Abschnitt von unten):
Ihre Lösung ersetzt nur das erste Komma, nicht alle, so dass es nicht für Zahlen> = 1.000.000 funktioniert –
Ihre Lösung nur das erste Komma ersetzen wird, nicht alle von ihnen, so dass es funktioniert nicht für Zahlen> = 1.000.000 –
@ daniel.sedlacek die Frage war "Ich möchte die Zeichenfolge" 15,678 "in einen Wert 15678" konvertieren. Meine Antwort löst dieses Problem. Ich bin hier zwar pedantisch, aber technisch korrekt;) – treeface