JS formel liefert mir falsches ergebnis

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

  • JS formel liefert mir falsches ergebnis

    Hallo und Guten Morgen,

    ich muss in JC eine berechnung durchführen leider liefert mir die funktionen jeweils das falsche ergebnis habe jetzt bei selfhtml nachgeschaut konnte aber meinen fehler nicht finden.

    function check(num, g, anZ)
    {

    for(k=0;k<num;++k)
    {

    document.write(g+(k*anZ));
    document.Eingabe.elements['newchecks[]'][g +(k*anZ)].checked=true;
    }

    }



    ich übergebe der funktion 3 Parameter
    z.b.
    num = 10
    g = eine laufende variable auto increment was hochgezählt wird 1
    anz = 14

    normal müsste mir das programm folgendes berechnen:
    g+(k*anZ)

    1+ 1 * 14 = 15
    1+ 2 * 14 = 29
    1+ 3 * 14 = 43
    1+ 4 * 14 = 56
    ....

    leider macht der das nicht - ich weis nicht woran das liegen kann.
    Danke schonmal für die hilfe.
    Gruss
    Zombie
    Zuletzt geändert von Zombie; 21.09.2005, 08:55.

  • #2
    1. Code Formatieren
    2. welchen wert übergibst du für g?
    3. was kommt denn statt dem gewünschten ergebnis raus?

    Kommentar


    • #3
      Ich weiß zwar nicht, wie dein falsches Ergebnis aussieht und was dieses Ergebnis erzeugt.
      Soweit ich weiß, sollte aber eine for-Schleife so aussehen:
      for(k=0;k<num;k++)

      Sonst schreibe das Ergebnis zuerst in eine neue Variable und gib deren Wert dann aus.
      Bsp.:
      var berechnung = g+k*anZ

      Gruß
      Stephan
      Zuletzt geändert von sgt; 21.09.2005, 09:00.
      [font=Verdana]SteGaSoft
      Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
      [/font]

      Kommentar


      • #4
        Ich übergebe für g = 1,
        Als ergebnis bekomme ich 00010.

        Kommentar


        • #5
          Hab deinen Code jetzt mal getestet:
          check(10,1,14)

          Ergebnis:
          1
          15
          29
          43
          57
          71
          85
          99
          113
          127

          Das ist genau das, was dein Code machen soll. Brauchst du auch nur mal logisch im Kopf durch zu gehen:

          1 + 0 * 14 = 1
          1 + 1 * 14 = 15
          usw.

          Wie du allerdings auf
          1 + 4 * 14 = 56 kommst ist mir ein Rätsel. Da versagst du bei der einfachsten Mathematik!!!

          Kommentar


          • #6
            Mein Code:

            Code:
            function check(num,g,anZ)
            {
            	for(k=0;k<num;++k)
            		document.write(g+k*anZ);
            }
            
            
            check(10,1,14);
            Die eine Zeile habe ich weg gelassen, weil mir da der Kontext fehlt.

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              Da versagst du bei der einfachsten Mathematik!!! [/B]

              OffTopic:
              1 + 1 zusammen zu zählen war nie meine stärke meine skills liegen eher in den kneipensportarten

              Kommentar


              • #8
                Problem gelöst?

                Kommentar


                • #9
                  ich versteh das irgenwie nicht:

                  function check(num, g, anZ)
                  {

                  for(k=0;k<num;++k)
                  document.write(g+k*anZ);

                  }

                  g ist eine variable mit dem wer z.b. 1.
                  wenn ich g in die formel (g+k*anZ) einsetzte kommen diese werte heraus.
                  20
                  21
                  42
                  ...

                  wenn ich anstelle g 1 einsetze (1 +k*anZ) kommen die werte heraus die ich für '1' auch haben möchte.

                  Überge ich g vielleciht falsch?
                  der link womit ich g übergebe sieht so aus:
                  <a href="#"onclick="check('10', '1', '14');return false;">check</a>

                  Ich weiss nicht mehr was ich noch machen könnte, hab schon alles versucht.

                  Danke schonmal für die hilfe

                  Kommentar


                  • #10
                    Original geschrieben von Zombie
                    Überge ich g vielleciht falsch?
                    Ja, und ob!

                    Wieso übergibst du verflixte Strings - wenn du doch mit Zahlen arbeiten willst?

                    + ist in Javascript (u.a.) der Operator zur Stringverkettung - also wundere dich bitte nicht, wenn dieser für Strings auch angewandt wird.


                    OffTopic:
                    Wer bisher dachte, dass das hirnlose Variablen-immer-schön-in-Anführungszeichen-stecken der Noobs nur im PHP-Bereich vorkäme, wird hier eines besseren belehrt.
                    Auch hier kann man sich mal wieder nur fragen, warum die Leute sich nicht erst mal die vermaledeiten Grundlagen aneignen, bevor sie sinnfrei drauflosstümpern ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      LOL bist ein lustiger kerl, danke für den tipp ich arbeite nicht jeden tag mit JC im grunde hasse ich's.

                      Kommentar


                      • #12
                        Original geschrieben von Zombie
                        ich arbeite nicht jeden tag mit JC im grunde hasse ich's.
                        Dann solltest du lieber ganz die Finger davon lassen, wenn es nicht mal zum Aneignen elementarer Grundlagen reicht.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          var num = parseInt(num);
                          var g = parseInt(g);
                          var anZ = parseInt(anZ);

                          http://de.selfhtml.org/javascript/ob....htm#parse_int

                          Kommentar


                          • #14
                            Original geschrieben von Zombie
                            var num = parseInt(num);
                            var g = parseInt(g);
                            var anZ = parseInt(anZ);
                            ja, fein - und?

                            wieso übergibst du nicht gleich zahlen, wenn du mit zahlen arbeiten willst? - anstatt strings zu übergeben, und diese dann in zahlen umzuwandeln.
                            das ist und bleibt unfug.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              LOL bist ein lustiger kerl, danke für den tipp ich arbeite nicht jeden tag mit JC im grunde hasse ich's.
                              Es heißt JavaScript!!!!

                              Kommentar

                              Lädt...
                              X