Andreas Bierhals: cgi kann nicht rechnen

Beitrag lesen

Hier meine Lösung:

$ALL=529.95*3;
$ALL=$ALL+0.001;
$ALL=substr($ALL,0,index("$ALL",".")+3);
print "$ALL";

Die 0.001 addiere ich für die xxx.999999999990123 Ergebnisse.
Das Ganze hat den netten Nebeneffekt, daß die Ausgabe immer
mit 2 Stellen hinter dem Komma erfolgt.

»»  Gruß

Jörg

Hallo Jörg!

Was machst Du mit Zahlen wie z.B. 14.976?
Nach Deiner Rundung müßte 14.97 herauskommen, richtig wäre aber 14.98
Mein Vorschlag ist daher
$ALL=$ALL+0.005
in Deinen obigen Zeilen einzusetzen, ferner noch eine
Fallunterscheidung für negative Zahlen...

So, jetzt hab' ich mich als Haarespalter geoutet ;-)

Frage ans Forum: Gibt es wirklich keinen formatierten Print-Befehl unter PERL??

Viele Grüße

Andreas