Beitrag von UweS (220 Beiträge) am Mittwoch, 21.Juli.2004, 11:05.
Kaufmännisches Runden
Hy!
Hab mir das aus dem Forum zusammengebastelt:
<perl>
### kommt rein ###
$Menge=10;
$MwSt="1.16";
$Einzelpreis=10;
$GesamtM=$Menge*$Einzelpreis;
$GesamtMW=$GesamtM*$MwSt;
$zahl=$GesamtMW*100;
if ($zahl - int($zahl) ge 0.5) {$mod = 1} else {$mod = 0} $zahl = int($zahl)+$mod;
$zahl=$zahl/100;
$Gesamt = substr($zahl,0,index($zahl,".")+3);
$Gesamt = sprintf('%.2f',$Gesamt); # wegen Nullen
Leider verrechnet sich das Ding:
11.00
#####################
Leider ist ja 10 mal zehn schon hundert… Was ist da noch falsch?
Antworten
Beitrag von Claus Christmeier (598 Beiträge) am Mittwoch, 21.Juli.2004, 12:17.
Re: Kaufmännisches Runden
Antworten
Beitrag von UweS (220 Beiträge) am Mittwoch, 21.Juli.2004, 14:12.
Re: Kaufmännisches Runden
Das wäre dann aber nicht kaufmännisch... bis 4 runter ab 5 hoch....
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 21.Juli.2004, 15:03.
Re: Kaufmännisches Runden
sprintf('%.2f', ... )
rundet kaufmännisch korrekt...
Antworten
Beitrag von UweS (220 Beiträge) am Mittwoch, 21.Juli.2004, 15:31.
Re: Kaufmännisches Runden
Antworten
Beitrag von Claus Christmeier (598 Beiträge) am Mittwoch, 21.Juli.2004, 16:41.
Re: Kaufmännisches Runden
Hallo UweS,
und was ist da bitte der Unterschied zu meinem Posting?
Gruß
Claus
Antworten
Beitrag von UweS (220 Beiträge) am Mittwoch, 21.Juli.2004, 17:34.
Re: Kaufmännisches Runden
Keiner!
Danke!
(Bin davon ausgegangen das sprintf nicht kaufm. rundet...)
Antworten
Beitrag von richard (1187 Beiträge) am Mittwoch, 21.Juli.2004, 14:03.
Re: Kaufmännisches Runden
Hallo!
Ich habe zwar nicht so die große Ahnung von Perl, meines Wissens muß aber auch da grundsätzlich jede Anweisung mit einem Semikolon abgeschlossen werden. Und dann fehlen mir in der Zeile mit der Bedingung schon mal 3 Stück. Jeweils 1 am Ende der Alternativen und ein weiteres am Ende des if - else Abschnittes.
Antworten
Beitrag von UweS (220 Beiträge) am Mittwoch, 21.Juli.2004, 14:14.
Re: Kaufmännisches Runden
Die Befehlszeile bei einer Bedingung wird durch die geschweifte Klammer geschlossen. ( Is nicht schön geschrieben - funkt aber) ;-)
Antworten
Beitrag von UweS (220 Beiträge) am Mittwoch, 21.Juli.2004, 14:16.
Re: Kaufmännisches Runden
Komisch bei einem Einzelpreis mit Nachkomastelle (13.33) funktioniert es...?
Antworten