Ankündigung

Einklappen
Keine Ankündigung bisher.

JS-Problem mit Zahle

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JS-Problem mit Zahle

    Hallo,

    ich hab ein kleines Problem mit JavaScript.

    Irgendwie werden einfach keine Zahlen als solche erkannt, sondern als Zeichenkette interpretiert.

    iich hab z.B einen Variable a mit dem Wert 1 und eine b mit dem Wert 3. Wenn ich jetzt a += b; als Anweisung schreibe lautet das Ergebnis 13 und nicht 4 wie ich das gerne hätte.

    Wie kann ich JavaScript mitteilen, dass es sich um eine Zahl handelt?

  • #2
    wie wäre es mit etwas code, vor allem der bereich wo addiert wird wäre hilfreich...

    Kommentar


    • #3
      ähmm...du musst vielleicht mal a + b schreiben. weil a += b heißt, dass b einfach nur an a rangehängt wird ohne irgendetwas zu addieren.

      Kommentar


      • #4
        alles quatsch.
        Die Werte der Eingabefelder sind nunmal Strings und bleiben das fürs erste auch. Da eine Addition (+) auch mit Zeichenketten möglich ist, belässt js es bei zeichenketten. Falls nur Natürliche Zahlen benutzt werden können, reicht es
        Code:
        variable = (int) variable;
        zu schreiben. Ansonsten einfach
        Code:
        variable = variable*1;
        Javascript zeigen, dass es sich um eine Zahl handeln muss.
        Vorher aber überprüfen, ob es auch wirklich Zahlen sind....

        Kommentar


        • #5
          das erste hab ich auch schon versucht aber damit hat's nicht geklappt...

          das zweite funtioniert super danke..

          Kommentar


          • #6
            Number(x)+Number(y) würde auch gehen.

            Kommentar


            • #7
              Zitat von Buhmann
              Code:
              variable = (int) variable;
              (int) gibt es in JavaScript gar nicht, oder? Das wäre wohl eher das von Michigras angesprochene Number().

              Kommentar


              • #8
                oder einfach

                parseInt() oder parseFloat()

                da Number() nicht in jeder JS-Version verfügbar ist.

                Kommentar


                • #9
                  parseInt() benutzen, und zwar nicht parseInt(a + b), sondern parseInt(a) + parseInt(b)
                  Beachte allerdings, dass parseInt als 2. Argument die Basis übergeben haben möchte (10), sonst wird manchmal einfach 8 genommen.

                  Kommentar


                  • #10
                    Zitat von Zergling
                    Beachte allerdings, dass parseInt als 2. Argument die Basis übergeben haben möchte (10), sonst wird manchmal einfach 8 genommen.
                    Genau und zwar in dem Moment, wenn die "Zahl" mit einer 0 beginnt, deshalb sollte man die Zahlenbasis zur Sicherheit immer angeben.

                    Kommentar

                    Lädt...
                    X