input felder addieren
EneR
- javascript
Moin,
ich habe das hier:
<input type="text" name="a" size="1">
<input type="text" name="b" size="1">
und dazugehörig:
var a = document.Formular.a.value;
var b = document.Formular.b.value;
so ich möchte jetzt die Werte (es müssen dann natürlich Zahlen sein) ddieren, mit:
c = a + b;
geht dass natürlich nicht...
hat irgendjemand eine Idee?
hatte schon überlegt vielleicht einen type angeben, der nur Zahlen zulässt oder so
vielen Dank schon einmal im vorraus!!
Hello out there!
hatte schon überlegt vielleicht einen type angeben, der nur Zahlen zulässt oder so
Texteingabefelder haben immer als Wert einen String. Diesen müsstest du in eine Zahl umwandeln. Das ginge bspw. mit
parseInt oder parseFloat
Schneller ist aber die Multiplikation mit 1; da es für Strings keinen '*'-Operator gibt, wird die Typumwandlung in Zahlen automaisch erledigt:
var c = a * 1 + b * 1;
See ya up the road,
Gunnar
Hallo Gunnar Bittersmann,
Schneller ist aber die Multiplikation mit 1
Warum eigentlich? Für die Typumwandlung muss doch eine ähnliche Methode verwendet werden, um aus dem String eine Ziffer zu machen. Wo kommt der Geschwindigkeitsvorteil her?
Mit freundlichem Gruß
Micha
Hello out there!
Schneller ist aber die Multiplikation mit 1
Warum eigentlich? Für die Typumwandlung muss doch eine ähnliche Methode verwendet werden, um aus dem String eine Ziffer zu machen.
parseInt()/parseFloat() tun schon etwas mehr: aus "42foo" lesen sie 42 aus; Multiplikation mit 1 ergibt NaN (not a number).
See ya up the road,
Gunnar