Julian: Rechnen

Frage: wenn ich header diesen Script einfüge:

function plus() {
   var Ergebnis = document.Rechner.plus1.value + document.Rechner.plus2.value;
   Rechner.Loesung.value = Ergebnis
}

Warum schmeißt er mir denn bei einer aufgabe 55 + 5 = 555 raus?

Wie rechne ich ganz normal plus?

Bitte helft mir!!!

Danke schon mal im vorraus!

  1. Hej,

    function plus() {
       var Ergebnis = document.Rechner.plus1.value + document.Rechner.plus2.value;
       Rechner.Loesung.value = Ergebnis
    }

    Warum schmeißt er mir denn bei einer aufgabe 55 + 5 = 555 raus?

    Ohne Deinen Code jetzt genau zu kennen, behaupte ich, dass das Objekt value vom Typ einer Zeichenkette zu sein scheint. Wenn du jetzt die Zeichenketten '55' und '5' "addierst" kommt '555' raus.

    Wie rechne ich ganz normal plus?

    Schau Dir mal die Methode parseInt() an.
    http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int

    Danke schon mal im vorraus!

    Viele Grüße
    B.

    1. Eigentlich wollte ch es gar nicht so "kompliziert". Mein ganzer Code sieht so aus (unten), und ich will nur wissen, welches rechenzeichen ich einsetzen muss, damit er die Zahl, die in Feld 1 (plus1) steht, mit der Zahl, die in Feld 2 (plus2) steht, addiert. Dafür muss doch ein Zeichen genügen... Aber welches?

      Bitte helft mir (nochmal)!!!

      <html>
      <head>
      <title>Plus</title>
      <script type="text/javascript">
      <!--
      function plus() {
      var Ergebnis = document.Rechner.plus1.value + document.Rechner.plus2.value;
      Rechner.Loesung.value = Ergebnis
      }
      //-->
      </script>
      </head>
      <body>
      <form name="Rechner" action="">
      <input type="text" name="plus1" size="5"> + <input type="text" name="plus2" size="5"> = <input type="text" value="" name="Loesung" size="5"> <input type="button" value="Ausrechnen" onClick="plus()">
      </form>
      </body>
      </html>

      1. Hallo,

        Bitte helft mir (nochmal)!!!
        ...
        function plus() {
        var Ergebnis = document.Rechner.plus1.value + document.Rechner.plus2.value;
        Rechner.Loesung.value = Ergebnis
        }

        var Ergebnis = parseInt(document.Rechner.plus1.value,10) + parseInt(document.Rechner.plus2.value,10);
        document.Rechner.Loesung.value = Ergebnis;

        MfG, Thomas

        1. Hallo,

          Bitte helft mir (nochmal)!!!
          ...
          function plus() {
          var Ergebnis = document.Rechner.plus1.value + document.Rechner.plus2.value;
          Rechner.Loesung.value = Ergebnis
          }

          var Ergebnis = parseInt(document.Rechner.plus1.value,10) + parseInt(document.Rechner.plus2.value,10);
          document.Rechner.Loesung.value = Ergebnis;

          MfG, Thomas

          Warum kommt nach value ein ",10"?

          Ansonsten Danke!

          1. Hej,

            Warum kommt nach value ein ",10"?

            kann mich nur wiederholen:
            http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int

            Da steht geschrieben:
            "Die Methode parseInt() erlaubt einen zweiten, optionalen Parameter radix. Dieser Parameter enthält die Basis des verwendeten Zahlensystems. Der Aufruf parseInt(string,radix) ermittelt aus dem String, der eine Zahl eines anderen Zahlensystems darstellt, die dazugehörige Dezimalzahl."

            Hoffe habe helfen können!

            Viele Grüße
            B.

          2. Hallo,

            Warum kommt nach value ein ",10"?

            ... um parseInt() mitzuteilen, dass es sich um Werte aus dem Dezimalsystem handelt. Wuerde die 10 nicht verwendet und z. B. in beiden Feldern "0123" stehen, dann waere die Summe nicht 246 sondern 166. Werte mit fuehrender Null werden dem Oktalsystem zugerechnet (Basis 8).

            Eine Alternative ohne parseInt() oder bei Fließkommawerten parseFloat() waere das Multiplizieren mit 1 oder Dividieren durch 1.

            MfG, Thomas

      2. hi,

        Eigentlich wollte ch es gar nicht so "kompliziert". Mein ganzer Code sieht so aus (unten), und ich will nur wissen, welches rechenzeichen ich einsetzen muss, damit er die Zahl, die in Feld 1 (plus1) steht, mit der Zahl, die in Feld 2 (plus2) steht, addiert. Dafür muss doch ein Zeichen genügen... Aber welches?

        was hast du denn an Biesterfelds hinweis, dass es sich noch gar nicht um zahlen handelt, nicht verstanden?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."