WG: [Vienna-pm] [OT] Rundungsverhalten von Perl
Nagy Wilhelm
Nagy at ubavie.gv.at
Fri Oct 24 05:30:54 CDT 2003
> Hallo Ihr,
>
> um die spannenden rundungsdinger in perl auch noch zu beleuchten:
>
> Ich erstelle unter anderem kaufmaennische applikationen mit perl und ist
> runden IMMER ein thema ;-)))
>
> Um das probleme wie-wann wird gerunden in den griff zu bekommen habe ich
> folgenden (ich gestehe aus meinen IBM370-assembler/Macro11/COBOL
> vergangenheit) stammenden trick angewendet
>
> ------------- 8< --------------
> use strict;
> # ### jezza machen wir mal eine krumme zahl
> #
> my $fA = 5/3; # ich habe mich fuer die 5/3 variante entschieden ;-)))
> print "was daraus wurde: $fA\n";
>
> # ### und jetzt ein COBOL Trick ;-))
> #
> $fA += .5;
> print "als ganze Zahl: ".int($fA);
>
> print "\n";
>
> __END__
>
> ------------- 8< --------------
>
>
> und begruede dies wie folgt:
>
> * durch die addition von irgendeiner zahl kann ich das rundungverhalten
> beinflussen.
> Es gibt faelle wo zB. .3 oder irgendeine andere von kaufmaennischen
> rundungsverhalten abweichendes Verfahren angewendet werden muss. (kommt
> zugegebener massen eher selten, aber doch vor).
>
> * Ich bin mir ziemlich sicher ;-) wass geanau passiert oder kann es
> jedenfalls nachvollziehen.
>
> * Ich kann noch nachjustieren wenn mal nicht so klappt wie angenommen.
>
> * Durch die umwandlung in (virtuelles)integer werden/sollten alle FP
> probleme geklaert sein/werden.
>
> * Ich kann auch zB. leicheter auf 1000-er Runden:
>
> $fA = 1565.43;
> print '~'.int(($fA + 500) / 1000)."-Tausend";
>
> Liebe gruesse aus der welt des kommerz...
>
> \^/ili
>
>
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Peter J. Holzer [SMTP:hjp-vienna-pm-list at hjp.at]
> Gesendet am: Donnerstag, 23. Oktober 2003 18:29
> An: vienna-pm at mail.pm.org
> Betreff: Re: [Vienna-pm] [OT] Rundungsverhalten von Perl
>
> _______________________________________________
> Vienna-pm mailing list
> Vienna-pm at mail.pm.org
> http://mail.pm.org/mailman/listinfo/vienna-pm << Nachricht: Unbenannte
> Anlage >>
More information about the Vienna-pm
mailing list