Wenn man zwei Werte aus z.B. Input Feldern liest und diese addieren moechte geht man normalerweise wie folgt vor:
wert1 = $(’#feld1′).val(); //wert1 = 10
wert2 = $(’#feld2′).val(); //wert2 = 20
wert3 = wert1 + wert2;
Hierbei kann es nun dazu kommen, dass das Ergebnis nicht erwarteterweise 30 ist, sondern ‘1020′, weil in Javascript das Plus-Zeichen eben auch dazu dient Strings aneinander zu haengen.
Abhilfe schaffen hier die Funktionen parseFloat() und parseInt(), die einen Wert explizit als Float oder eben Integer interpretieren.
1 Kommentar
Frederik Reiß
02|Nov|2011 1Da bin ich auch schon mal drauf reingefallen.
Bei parseInt() gibt es aber noch einen fiesen Fallstrick: Als zweiten Parameter sollte man IMMER die Basiseinheit angeben. Bei normalen dezimalen Zahlen 10, denn sonst wird z.B. aus einem 09 in dem Input Feld ein 10, da die Zahl als oktale Zahl interpretiert wird.
Also immer parseInt(wert1, 10) schreiben, sonst können schräge Dinge dabei rauskommen
Kommentar schreiben