Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen - 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 hempelr (1976 Beiträge) am Dienstag, 5.April.2005, 09:55.
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen

      auch dafür ne SUB - GPL wie gehabt:
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      sub f_zahl { ################################################################
      $a_debug.= "<b>A sub f_zahl(@_)</b><br>";
      # Syntax: f_zahl("Zahl", "Anzahl Stellen","Trennzeichenstellen"); (Voreinst. 2 Stellen,3Stellen)
      my ($Zahl, $Stellen,$sp) = @_; my ($s, $i) = ("", 0);
      $sp ||= 3;
      $Stellen = $Stellen eq "" ? "2" : $Stellen;
      $Zahl = sprintf("%.$Stellen"."f", $Zahl) if ($Stellen > 0);
      ($Zahl, $Komma) = split(/\./, $Zahl);
      for ($i=1; $i<=length($Zahl); $i++){$s=(($i % $sp == 0) && ($i<length($Zahl))? "." : "").substr($Zahl,-$i,1).$s;}
      $Komma = "," . $Komma if length($Komma);
      $a_debug.= "<b>E sub f_zahl</b><br>";
      return $s . $Komma;
      } ################################################################
      

      Gebrauch für Punkt als Tausendertrennzeichen, Komma mit zwei Nachkommastellen:

      <perl>
      
      ...
      $formatiertezahl = f_zahl($unformatiertezahl);
      ...
      </perl>
      
      hth Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Trixi (22 Beiträge) am Montag, 4.April.2005, 19:54.
    addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen


      Ich möchte addierte Ergebnisse mit Komma/Punkt und 2 Dezimalstellen angezeigt bekommen

      Addition: 88.00 + 12.00 Anzeige: 100
      Addition: 88.10 + 12.02 Anzeige: 100.12

      Zahlenfelder sind mit 2 Dezimalstellen und Punkt als Trennzeichen angelegt.

      <loop db=klassenfahrt code=perl>
      $Gesamt+=$Anzahl;
      
      ....
      Summe: $Gesamt

      Im Forum habe ich zwar etwas "passendes" gefunden, was aber nicht klappt.
      --------------------------------------
      Das geht auch mit sprintf (Perl ist so schön
      $Zahl = sprintf('%.02f',$Zahl);
      
      Auf 2 Stellen hinter Komma gerundet und aufgefüllt. ;)
      -----------------------------------------------------

      Trixi

     Antworten

    Beitrag von richard (1187 Beiträge) am Montag, 4.April.2005, 22:03. WWW: posaunenchor-rhoden.de
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen

      Befürchte, daß das mit printf nicht geht. Nachstehend ein regulärerAusdruck der das erledigen soll. Da ist allerdings nur die erste Zeile von mir und ausprobiert ist der auch nicht.

      $Betrag =~ s/./,/;
      $Betrag = reverse $Betrag;
      $Betrag =~ s/(\d\d\d)(?=\d)(?!\d*\,)/$1./g;
      $Betrag = reverse $Betrag;
      

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 4.April.2005, 22:35.
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen

      >> Im Forum habe ich zwar etwas "passendes" gefunden, was aber nicht klappt.
      

      was klappert da nicht?

     Antworten

    Beitrag von Trixi (22 Beiträge) am Dienstag, 5.April.2005, 08:41.
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen


      Wenn ich ganze Summen addiere, z.B. 88.00 + 3.00 (Zahlfeld,sortiert, Trennzeichen Punkt, Anzeige 2 Dezimalstellen) wird mir als Ergebnis 91 angezeigt und nicht 91.00

      Addiere ich 88.10 + 3.22 wird 91.32 angezeigt

      es klappt weder bei

      $Betrag =~ s/./,/;
      $Betrag = reverse $Betrag;
      $Betrag =~ s/(\d\d\d)(?=\d)(?!\d*\,)/$1./g;
      $Betrag = reverse $Betrag;
      

      noch bei

      $Zahl = sprintf('%.02f',$Zahl);
      

      Trixi

     Antworten

    Beitrag von richard (1187 Beiträge) am Dienstag, 5.April.2005, 09:48. WWW: posaunenchor-rhoden.de
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen

      Dieses Code-Schnipsel macht aus einer Zahl mit Dezimalpunkt eine Ausgabe mit Dezimalkomma und Tausenderpunkten.

      <perl>
      $Betrag = 11912345456.8;
      $Betrag = sprintf('%.02f',$Betrag);
      $Betrag =~ tr/./,/;
      $Betrag = reverse $Betrag;
      $Betrag =~ s/(\d\d\d)(?=\d)(?!\d*\,)/$1./g;
      $Betrag = reverse $Betrag;
      out("$Betrag<br />");
      </perl>
      

      Ergebnis: 11.912.345.456,80

     Antworten

    Beitrag von Trixi (22 Beiträge) am Dienstag, 5.April.2005, 10:51.
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen

      Das wars!!
      Vielen Dank
      Trixi

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 5.April.2005, 09:55.
    Re: addierte Ergebnisse immer mit 2 Dezimalstellen anzeigen

      auch dafür ne SUB - GPL wie gehabt:
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      sub f_zahl { ################################################################
      $a_debug.= "<b>A sub f_zahl(@_)</b><br>";
      # Syntax: f_zahl("Zahl", "Anzahl Stellen","Trennzeichenstellen"); (Voreinst. 2 Stellen,3Stellen)
      my ($Zahl, $Stellen,$sp) = @_; my ($s, $i) = ("", 0);
      $sp ||= 3;
      $Stellen = $Stellen eq "" ? "2" : $Stellen;
      $Zahl = sprintf("%.$Stellen"."f", $Zahl) if ($Stellen > 0);
      ($Zahl, $Komma) = split(/\./, $Zahl);
      for ($i=1; $i<=length($Zahl); $i++){$s=(($i % $sp == 0) && ($i<length($Zahl))? "." : "").substr($Zahl,-$i,1).$s;}
      $Komma = "," . $Komma if length($Komma);
      $a_debug.= "<b>E sub f_zahl</b><br>";
      return $s . $Komma;
      } ################################################################
      

      Gebrauch für Punkt als Tausendertrennzeichen, Komma mit zwei Nachkommastellen:

      <perl>
      
      ...
      $formatiertezahl = f_zahl($unformatiertezahl);
      ...
      </perl>
      
      hth Ruben

     Antworten


     
 Liste der Einträge von 24900 bis 25050: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.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!