Martin: Dezimalzahl

Beitrag lesen

Die Variable soll aber immer zwei Dezimalstellen haben.

Das bei einer Ganzzahl z.B. 9 ein Komma und zwei Nullen angefügt werden... Ergebnis  9,00

Das eine reelle Zahl z.B. 3.56789 auf zwei Stellen nach dem Punkt gerundet und der Punkt durch ein Komma ersetzt wird... Ergebnis  3,57

Es geht hier doch nur um eine Formatierung des Ausgabe-Strings? Dies könnte doch leicht mit 'sprintf' erledigt werden:

$result = sprintf("%.2f", $value); # ergibt 2 Nachkommastellen

$result =~ s/./,/; # ersetzt den Dezimalpunkt durch ein Komma.

Allerdings wird wohl durch sprintf nicht wirklich gerundet soweit ich weiß, sondern einfach die weiteren Stellen abgeschnitten. Dies könnte man noch durch eine kleine Funktion erledigen...

Martin