java script variablen und addieren
Papst-ralle
- javascript
so ich hab mir das mal geschrieben. jetzt wollte ich alle funktionen mal testen, aber bei addition schreibt er mir nciht die summe hin, sondern reiht den ganzen schmarrn aneinander. hilfe!!!!!
am besten wäre einfach die verbesserte version von meinem entwurf
danke
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function Quadrat() {
var aaa = document.Formular.Eingabe.value
var bbb = document.Formular.eingabe2.value
var ccc = document.Formular.eingabe3.value
var ddd = document.Formular.eingabe4.value
var Ergebnis = aaa+bbb+ccc+ddd ;
alert(" " + ( aaa ) + "+"+( bbb ) + "+"+( ccc ) + "+"+(ddd ) +" = " + Ergebnis);
}
//-->
</script>
</head>
<body>
<form name="Formular" action="">
<input type="text" name="Eingabe" size="3"> x^3 +
<input type="text" name="eingabe2" size="3"> x^2 +
<input type="text" name="eingabe3" size="3"> x +
<input type="text" name="eingabe4" size="3">
<input type="button" value="Lösen" onclick="Quadrat()">
</form>
</body>
</html>
Hallo Papst,
du "addierst" Strings. Wandle die Inputs in Zahlen um, dann sollte es gehen. http://de.selfhtml.org/javascript/objekte/unabhaengig.htm sollte Dir weiterhelfen.
Gruß, Jürgen
Moin
Tipp:
var aaa = parseInt("0"+document.Formular.Eingabe.value);
fängt auch Fehleingaben, zB nur Buchstabeneingaben, ab.
Gruß
rfb
Hallo,
var aaa = parseInt("0"+document.Formular.Eingabe.value);
gefährlicher Tipp! Zahlen, die mit führender Null notiert werden, sind per definitionem als Oktalzahlen zu interprtieren. Das Ergebnis ist in den meisten Fällen weit entfernt von dem, was man intuitiv erwarten würde. Besser:
var aaa = 0 + document.Formular.Eingabe.value;
Durch die Addition der Zahl(!) Null erzwingst du die Umwandlung aller Operanden, also auch des Formularinhalts, in eine Zahl.
Ciao,
Martin
Hallo Martin.
var aaa = 0 + document.Formular.Eingabe.value;
Durch die Addition der Zahl(!) Null erzwingst du die Umwandlung aller Operanden, also auch des Formularinhalts, in eine Zahl.
Nein, das ist nicht der Fall:
var a = 'Foo';
alert(0 + a); // 0Foo
Dadurch dass das „+“ auch als Stringverkettungsoperator agiert, hat diese Operation hier Vorrang. Deshalb besser so:
var aaa = 1 * document.Formular.Eingabe.value;
So erhält man in jedem Fall eine gültige Nummer oder eben NaN.
Einen schönen Mittwoch noch.
Gruß, Mathias
Moin
gefährlicher Tipp! Zahlen, die mit führender Null notiert werden, sind per definitionem als Oktalzahlen zu interprtieren. Das Ergebnis ist in den meisten Fällen weit entfernt von dem, was man intuitiv erwarten würde.
Hm, habs eben mal getestet (allerdings nur in Opera) zahlen bis 99 als String mit führender 0 durch parsInt umgewandelt und damit gerechnet - alles im Dezimalsystem.
ich glaub, der Hinweis auf Probleme mit der führenden Null bezieht sich eher auf Zahlen, die einfach mit führender 0 im Script stehen.
Aber die sichere Variante wäre natürlich die explizite Angabe des Dezimalsystems:
var aaa = parseInt("0"+document.Formular.Eingabe.value,10);
Gruß
rfb
hmmm, ja da bin ich nach suchen auch schon mal drauf gestoßen. ich versteh das nur nicht. wo soll ich was hinschreiben da mit es funktioniert.
hab heute zum ersten mal html oder java in der hand gehabt.
willst du mir nicht schnell meinen entwurf reparieren? wär nett
muss für meine facharbeit eine seite schreiben, die gleichungen 3. und 4.grades schreibt.
Hallo papst,
hab heute zum ersten mal html oder java in der hand gehabt.
Java und Javascript haben nur die ersten 4 Buchstaben gemeinsam.
willst du mir nicht schnell meinen entwurf reparieren? wär nett
muss für meine facharbeit eine seite schreiben, die gleichungen 3. und 4.grades schreibt.
siehe Tipp von rfb.
Gruß, Jürgen