Wie formatiere (runde) ich Zahlen?
(
Autor: FtR & perl.de - Community)
Du hast eine Fließkommazahl und möchtest diese runden,
oder auf zwei Stellen genau angeben.
Bei diesem Problem helfen die Funktionen:
printf und
sprintf
printf übernimmt eine reine Formatierung der Ausgabe.
sprintf macht exakt das Gleiche, ist aber in der
Lage, das Ergebniss auch an eine Variable zu übergeben.
$a = 0.255;
printf ("%.2f \n",$a) ; # Ausgabe mit Formatierung
$b = sprintf ("%.2f",$a);# Zuweisung
print $b,"\n"# Ausgabe
Wobei
sprintf eine Vielzahl von Möglichkeiten eröffnet.
Das Ausschlaggebene ist hier das
%.2f
Eine formale Bescheibung diese Ausdrucks ist
%m.nx
m und
n sind optionale Größenangaben, bei denen
m die minimale Länge des Feldes und
n die Anzahl
der Nachkommastellen auf die gerundet werden soll, bzw. die maximale
Länge des Feldes angibt.
x steht für ein Symbol aus diversen Möglichkeiten.
Hier sei nur auf f verwiesen, welches für eine Fließkommazahl steht.
Damit ist der Ausdruck
%.2f wie folgt zu lesen:
Eine Fließkommazahl mit 0 Zeichen Mindestlänge und genau 2 Nachkommastellen.
Besitzt die Zahl weniger Nachkommstellen wird der Rest mit 0 aufgefüllt.
Ergänzungen, Kommentare
Kommentare werden am besten in folgender Form vorgenommen, damit
sie im Inhaltsverzeichnis angezeigt werden:
---### Main.??? - 14 Jul 2003 - Betreff