Probleme beim Addieren - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Dittmar (9 Beiträge) am Dienstag, 12.September.2006, 12:52.
    Probleme beim Addieren

      Liebe Experten,

      mein Problem ist, das mein selbst gebauter Code zu einem falschen Rechenergebnis führt und ich den Fehler nicht finden kann.

      Das untere Listing erläutert mein Problem:

      1. Abschnitt

      <td><div align="right"><loop code=perl db=zahlen Id==1>$BKP=~ tr/./,/; out $BKP; </loop> EUR</div></td>
      <td><div align="right"><loop code=perl db=zahlen Id==1>$BKP_P =sprintf"%.2f", $BKP / $Bewohner; $BKP_P=~ tr/./,/; out $BKP_P; </loop> EUR</div></td>
      

      2. Abschnitt
      <td><div align="right"><loop code=perl db=zahlen Id==1>$GP=~ tr/./,/; out $GP; </loop> EUR</div></td>
      <td><div align="right"><loop code=perl db=zahlen Id==1>$GP_P =sprintf"%.2f", $GP / $Bewohner; $GP_P=~ tr/./,/; out $GP_P; </loop> EUR</div></td>
      

      3. Abschnitt
      <td><div align="right"><b><loop code=perl db=zahlen Id==1>
      $summe_z1=$BKP_P+$GP_P;
      $summe_z1=sprintf"%.2f", $summe_z1; ## auf 2 Nachkommastellen aufrunden
      $summe_z1=~ tr/./,/; ## Punkt durch Komma ersetzen
      out $summe_z1;</loop> EUR</b></td>
      

      Das Problem liegt im unteren Abschnitt. Wenn ich die Summe bilde, erhalte ich ein falsches Ergebnis.

      Mein Beispiel:
      Der Wert für $BKP ist: 61.36
      Der Wert für $BKP ist: 3.07
      Der Wert für $Bewohner: 3

      In den beiden oberen Absätzen werden die Werte für $BKP_P (20.45) und $GP_P (1.02) korrekt ermittelt unn ausgegeben.
      Im unteren Absatz dagegen wird falsch addiert.
      Bei der Addition von 20.45 + 1.02 erhalte ich dann leider 21.00. Mir scheint, beim aufrunden auf die 2 Dezimalstellen geht irgendetwas schief. Nur ich weiss nicht was.

      Vielleicht könnte mir ja jemand mal weiterhelfen, der mehr davon versteht.

      Vielen Dank im Voraus

      Dittmar


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Dittmar (9 Beiträge) am Dienstag, 12.September.2006, 12:52.
    Probleme beim Addieren

      Liebe Experten,

      mein Problem ist, das mein selbst gebauter Code zu einem falschen Rechenergebnis führt und ich den Fehler nicht finden kann.

      Das untere Listing erläutert mein Problem:

      1. Abschnitt

      <td><div align="right"><loop code=perl db=zahlen Id==1>$BKP=~ tr/./,/; out $BKP; </loop> EUR</div></td>
      <td><div align="right"><loop code=perl db=zahlen Id==1>$BKP_P =sprintf"%.2f", $BKP / $Bewohner; $BKP_P=~ tr/./,/; out $BKP_P; </loop> EUR</div></td>
      

      2. Abschnitt
      <td><div align="right"><loop code=perl db=zahlen Id==1>$GP=~ tr/./,/; out $GP; </loop> EUR</div></td>
      <td><div align="right"><loop code=perl db=zahlen Id==1>$GP_P =sprintf"%.2f", $GP / $Bewohner; $GP_P=~ tr/./,/; out $GP_P; </loop> EUR</div></td>
      

      3. Abschnitt
      <td><div align="right"><b><loop code=perl db=zahlen Id==1>
      $summe_z1=$BKP_P+$GP_P;
      $summe_z1=sprintf"%.2f", $summe_z1; ## auf 2 Nachkommastellen aufrunden
      $summe_z1=~ tr/./,/; ## Punkt durch Komma ersetzen
      out $summe_z1;</loop> EUR</b></td>
      

      Das Problem liegt im unteren Abschnitt. Wenn ich die Summe bilde, erhalte ich ein falsches Ergebnis.

      Mein Beispiel:
      Der Wert für $BKP ist: 61.36
      Der Wert für $BKP ist: 3.07
      Der Wert für $Bewohner: 3

      In den beiden oberen Absätzen werden die Werte für $BKP_P (20.45) und $GP_P (1.02) korrekt ermittelt unn ausgegeben.
      Im unteren Absatz dagegen wird falsch addiert.
      Bei der Addition von 20.45 + 1.02 erhalte ich dann leider 21.00. Mir scheint, beim aufrunden auf die 2 Dezimalstellen geht irgendetwas schief. Nur ich weiss nicht was.

      Vielleicht könnte mir ja jemand mal weiterhelfen, der mehr davon versteht.

      Vielen Dank im Voraus

      Dittmar

     Antworten

    Beitrag von richard (1187 Beiträge) am Dienstag, 12.September.2006, 16:46. WWW: posaunenchor-rhoden.de
    Re: Probleme beim Addieren

       In den beiden oberen Absätzen werden die Werte für $BKP_P (20.45) und $GP_P (1.02) korrekt ermittelt und ausgegeben.
      

      20.45 bzw. 1.02 - kann eigentlich so nicht sein, da Du vor der Ausgabe die Punkte durch Komma ersetzen läßt.

      Laß in den ersten beiden Abschnitten mal alle Ersetzungen der Punkte durch Kommas weg, oder ersetze in den Variablen $BKP_P und $GP_P nach der Ausgabe die Kommas wieder durch Punkte (spätestens bevor Du in Abschnitt 3 die Summe bildest).

      Im übrigen ist Dein Umgang mit loop geradezu inflationär. Du fragst die Datenbank dreimal nach demselben Datensatz ab. Das muß nicht sein. Mach das <loop> ... </loop> einfach einmal außen um alle drei Abschnitte. Deine html-Abschnitte müssen dann natürlich per out bzw. out <<EOF ausgegeben werden.

     Antworten

    Beitrag von richard (1187 Beiträge) am Dienstag, 12.September.2006, 16:56. WWW: posaunenchor-rhoden.de
    Re: Probleme beim Addieren

       Du fragst die Datenbank dreimal nach demselben Datensatz ab.
      

      Sorry, habe mich verzählt, es sind 5 Abfragen.

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 12.September.2006, 21:26.
    Re: Probleme beim Addieren

      das Problem mit Komma und Punkt...

     Antworten

    Beitrag von Dittmar (9 Beiträge) am Donnerstag, 14.September.2006, 21:38.
    Re: Probleme beim Addieren

      Lieber richard,

      vielen Dank für Deine Antwort. Du hast mir sehr weitergeholfen.

      Dittmar

     Antworten


     
 Liste der Einträge von 16651 bis 16801:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!