Announcement

Collapse
No announcement yet.

wie rechnet Javascript?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • wie rechnet Javascript?

    Code:
    this.x1 = x - D / 2;
    this.x2 = x + D / 2;
    Eigentlich alles gut, sollte man meinen.
    Doch dann hat sich ein seltsames Verhalten gezeigt, und ich habe mühsam diese Zeilen als Ursache ausgemacht.
    Daraufhin habe ich den Code geändert:

    Code:
    this.x1 = x - (D / 2);
    this.x2 = x + (D / 2);
    Ist mathematisch das Selbe, aber alles war wieder gut. Bis heute.
    Wenn x negativ ist, wird x1 richtig berechnet, x2 ist aber plötzlich gleich x.
    Alle Werte sind Zahlen, kein String.

    Code:
    -53 - 10 / 2 = -58 richtig.
    -53 + 10 / 2 = -53 falsch.
    Die Lösung die ich dann gefunden habe, zeig ich lieber nicht, weil viel zu umständlich.
    Meine Frage ist, wie macht man es richtig?
    Danke - Günther
    Günther

  • #2

    <script>
    alert(-53 - 10 / 2);
    alert(-53 +10 / 2);
    </script>


    Bekomme da korrekt -58 und -48 raus

    EDIT
    Dein Ergebnis von -53 deutet darauf hin, dass die Division (D/2) nicht ausgeführt wird. Vermutlich ist D doch keine Ziffer. Mal (parseInt(D)/2) versuchen
    Zuletzt editiert von Christian Marquardt; 27.11.2016, 19:04.
    Christian

    Comment


    • #3
      Hab alle Daten mit parseFloat eingelesen, deshalb war ich mir sicher dass kein String dabei ist.
      Ja, der Debugger hat es mir jetzt gezeigt: In meiner Function kommen Strings an.
      Also suche ich jetzt eine Stecknadel im Heuhaufen.
      Danke - Günther
      Günther

      Comment


      • #4
        Siehe EDIT oben

        parseInt()

        Und die float-Werte habe auch einen . statt einem ,
        Christian

        Comment


        • #5
          Nein, die 10 ist als Zahl angekommen, die -53 als String.

          "-53" -10/2 = -59
          "-53" +10/2 = "-53,005".

          Und in der Grafik hat er "-53,005" korrekt als Zahl umgewandelt.

          Zuvor hatte er 0 daraus gemacht, das war vor mehreren Wochen.
          Da hatte ich eine SVG Grafik, wegen anderer Probleme damit habe ich heute auf Canvas umgestellt.
          Günther

          Comment


          • #6
            Ok, ich habs. Mit etwas System kann man auch die Stecknadel im Heuhaufen finden ;-)

            Der x-Wert ist der Mittelpunkt einer Bohrung auf einem Teilkreis.
            Er wird aus Radius und Winkel berechnet und anschließend mit toFixed(3) gerundet.
            Dieses toFixed(3) liefert einen String, wenn der Wert negativ ist.
            Hier ein parseFloat und die Welt ist in Ordnung.
            Günther

            Comment


            • #7
              Da ist der Abend gerettet....
              Christian

              Comment

              Working...
              X