stefan: Wie kann man eine negative zahl erkennen

Hallo zusammen,

vielleicht etwas blöd die Frage aber ich hänge daran etwas fest.

wie kann ich eine negative Zahl erkennen?

Beispiel:

30 Stk. in Bonn
-6 Stk. in Berlin

ergebniss soll sein 24 Stk.

oder

30 Stk. in Bonn
+6 Stk. in Berlin

ergebniss also 36 Stk.

kurzum die negativen zehl soll abgezogen und die possitive dazugezählt werden.

if (zahl == negativ )
  Math.abs(Wert B)
  Wert = Wert A - Wert B
else
  Wert = Wert A + Wert B

viele Grüße
Stefan

  1. kurzum die negativen zehl soll abgezogen und die possitive dazugezählt werden.

    Das geht einfach so: Wert = Wert_A + Wert_B;

    Struppi.

    1. kurzum die negativen zehl soll abgezogen und die possitive dazugezählt werden.

      Das geht einfach so: Wert = Wert_A + Wert_B;

      Struppi.

      du meinst ich kann mir die abfrage des negativen wertes sparen und mit

      -+ = -
      sowie
      ++ = +

      arbeiten. Logisch und schäme mich :-( aber danke dir manchmal sitzt man auf der langen leitung .....

      1. kurzum die negativen zehl soll abgezogen und die possitive dazugezählt werden.

        Das geht einfach so: Wert = Wert_A + Wert_B;

        Struppi.

        du meinst ich kann mir die abfrage des negativen wertes sparen und mit

        -+ = -
        sowie
        ++ = +

        arbeiten. Logisch und schäme mich :-( aber danke dir manchmal sitzt man auf der langen leitung .....

        nun kommt raus:

        5 + 4 = 54

        1. nun kommt raus:

          5 + 4 = 54

          Dann hast du keine Zahlen, sondern Strings und musst diese erst umwandeln in eine Zahl.

          Struppi.

          1. nun kommt raus:

            5 + 4 = 54

            Dann hast du keine Zahlen, sondern Strings und musst diese erst umwandeln in eine Zahl.

            Struppi.

            habe es nun so gemacht

            eval(wert A + Wert B)

            ok die addition funktioniert aber nur fast:

            Beispiel:

            60 +-5 = 55
            45 +-3 = 42
            45 +-0 = 450 (das ist ...)

            zuvor sind aber alle werte geparst auf parseInt

            1. Hallo,

              eval(wert A + Wert B)
              zuvor sind aber alle werte geparst auf parseInt

              wenn du eval verwendest, brauchst du nicht zu parsen ... entweder das eine oder das andre ;)

              MfG. Christoph Ludwig

              --
              Wo die Sprache aufhört, fängt die Musik an...
              Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
              Go to this
              1. Hallo,

                eval(wert A + Wert B)
                zuvor sind aber alle werte geparst auf parseInt

                wenn du eval verwendest, brauchst du nicht zu parsen ... entweder das eine oder das andre ;)

                MfG. Christoph Ludwig

                dachte ja da es geparst war und es nicht ging versuch es mal damit.

                Habe es aber eben gefunden. In einer meiner Schleifen hatte ich das gepartse dummerweise mit einem String überschrieben. Nun habe ich parseInt nochmals angehängt und es geht...

                Danke Euch recht herzlich

                VG
                Stefan

            2. habe es nun so gemacht

              eval(wert A + Wert B)

              eval wandelt keinen String in eine Zahl um.

              Das einfachste ist:
              wert = wert_A - -Wert B;

              oder parseFloat bzw. parseInt

              wert = parseInt(wert_A, 10) + parseInt(Wert B, 10);

              Struppi.

        2. Hallo,

          5 + 4 = 54

          ja, weil ganz offensichtlich die Variablen vom Typ Text sind.
          also fügst du Textketten zusammen.

          Abhilfe:
          wandle deine Variablen zum Typ Zahl um:
          variable = parseInt(variable);

          dann solltest du rechnen können...

          MfG. Christoph Ludwig

          --
          Wo die Sprache aufhört, fängt die Musik an...
          Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
          Go to this
          1. [latex]Mae  govannen![/latex]

            Abhilfe:
            wandle deine Variablen zum Typ Zahl um:
            variable = parseInt(variable);

            dann solltest du rechnen können...

            Nein, so nicht.

            z1 = "09"  
            z2 = "08"  
            alert(parseInt(z1) + parseInt(z2))
            

            Und das mal im FF 2 oder IE6 berechnen lassen. Danach die Anleitung zu parseInt() lesen.

            Cü,

            Kai

            --
            Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
            selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
            Mein Selfhtml-Kram
            1. Hallo,

              Nein, so nicht.

              z1 = "09"

              z2 = "08"
              alert(parseInt(z1) + parseInt(z2))

              
              >   
              > Und das mal im FF 2 oder IE6 berechnen lassen. Danach die Anleitung zu parseInt() lesen.  
                
              parseInt() ist doch nur eine Variante ... man kann auch noch parseFloat oder sonst irgendwas berwenden ...  
                
                
              MfG. Christoph Ludwig
              
              -- 
              Wo die Sprache aufhört, fängt die Musik an...  
              Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)  
                
              Go to [this](http://home.arcor.de/minicrispie/index.html) 
              
              1. [latex]Mae  govannen![/latex]

                Nein, so nicht.

                z1 = "09"

                z2 = "08"
                alert(parseInt(z1) + parseInt(z2))

                
                > >   
                > > Und das mal im FF 2 oder IE6 berechnen lassen. Danach die Anleitung zu parseInt() lesen.  
                >   
                > parseInt() ist doch nur eine Variante ... man kann auch noch parseFloat oder sonst irgendwas berwenden ...  
                  
                Damit habe ich habe nicht gemeint, daß parseInt nicht verwendet werden sollte, sondern daß es korrekt verwendet werden soll. Immer, ohne Ausnahme, dann gewöhnt man sich einen fehlerhaften Stil gar nicht an.  
                  
                  
                Cü,  
                  
                [Kai](http://www.kaichen.in/selfhtml/)
                
                -- 
                Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul  
                  
                selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?  
                [Mein Selfhtml-Kram](http://www.kaichen.in/selfhtml/)
                
        3. Moin!

          nun kommt raus:

          5 + 4 = 54

          Nach welchen konkreten Bemühungen? Wenn Du uns nicht sagst, was Du gemacht hast - und was Du machen wolltest, dann können wir Dir nicht sagen, warum Deine Bemühungen möglicherweise, denn auch dazu sagst Du nichts, nicht "zielführend" sind.

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix®

          --
          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
          1. Hallo,

            und was Du machen wolltest

            hat er doch gesagt, er will zwei zahlen addieren ...

            MfG. Christoph Ludwig

            --
            Wo die Sprache aufhört, fängt die Musik an...
            Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
            Go to this
            1. Moin!

              5 + 4 = 54
              und was Du machen wolltest
              hat er doch gesagt, er will zwei zahlen addieren ...

              Das hat er aber nicht.  Er hat "5" + "4" zusammengefügt. Möglicherweise sollte er erzwingen, dass auch Zahlen benutzt werden. Das kann so gehen:

              alert ("5" * 1 + "4" * 1)

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix®

              --
              Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
              1. [latex]Mae  govannen![/latex]

                Das hat er aber nicht.  Er hat "5" + "4" zusammengefügt. Möglicherweise sollte er erzwingen, dass auch Zahlen benutzt werden. Das kann so gehen:

                alert ("5" * 1 + "4" * 1)

                Zur Vervollständigung:
                Eine weitere Möglichkeit: alert((+"5")+(+"4")) bzw. mit variablen alert((+zahl1)+(+zahl2)), wobei die Klammern wichtig sind, da bei alert(+zahl1 + +zahl2) ein fehlendes/entferntes Leerzeichen etwas daraus machen kann, das als zahl1++ oder ++zahl2 interpretiert wird.

                Man kann auf vielen Wegen zum Ziel kommen ;)

                Cü,

                Kai

                --
                Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
                selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
                Mein Selfhtml-Kram
                1. Hallo,

                  Wieso nicht einfach die Number-Funktion?

                  mfg, Flo

                  --
                  Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
                  sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
                  *Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...