Rechnung mit Komma
Floso
- javascript
0 Rouven0 Sven Rautenberg0 Floso
Hallo zusammen,
ich habe eine Problem mit einer Berechnung im JavaScript.
Ich habe eine Eingabefeld in welches ich eine Zahl eingeben kann. Da es sich im eine Prozentangabe handelt ist auch ein Float(also z.B. eine Kommazahl) möglich. Wenn ich die Eingabe nun mit 1,4 mache bekomme ich bei der Ausgabe meiner Rechnung ein NaN raus. Wenn ich mit Punkt rechne geht es. Denke mir das es was mit der Art wie JS rechnet zu tun hat.
Hier meine Frage: Kann ich eine Kommaeingabe irgendwie maskieren, das Scriptintern mit Punkt bzw. Scriptsprachen gerecht gerechnet wird und die Ausgabe wieder mit Komma erscheint?
Thx for help,
Floso
Hi,
meines Wissens geht das nur manuell mit einer Ersetzungsfunktion, also vor dem Rechnen ,->. und danach .->,
Der Grund für den Zeichenunterschied dürfte im englischen Zahlensystem liegen, da gibts halt den Dezimalpunkt und das 1000er-Komma.
Wen der Wert ja eh aus einem Eingabefeld kommt fängt das ganze ja eh als String an, von daher: replace()
MfG
Rouven
Moin!
Hier meine Frage: Kann ich eine Kommaeingabe irgendwie maskieren, das Scriptintern mit Punkt bzw. Scriptsprachen gerecht gerechnet wird und die Ausgabe wieder mit Komma erscheint?
Keine Ahnung, ob du das kannst. Es geht aber.
Die Zahl im Formularfeld ist ein String, bei der Ausgabe ist sie auch wieder ein String. Wenn der String ein Komma enthält, der zur Berechnung aber ein Punkt sein soll (bevor JS den String in eine Zahl wandelt bzw. nachdem die Zahl wieder in einen String gewandelt wurde), solltest du einfach die passende Stringoperation anwenden, um Komme durch Punkt bzw. Punkt durch Komma zu ersetzen.
In SELFHTML gibts die JS-Stringfunktionen: http://de.selfhtml.org/javascript/objekte/string.htm
- Sven Rautenberg
Habe es nun mit replace() versucht und hat geklappt!
Danke für die Hilfe.
Gruß Floso