hi!
Wie kann man in Perl numerische Variablen runden?
Die Syntax sieht dann so aus:
$rund = int ($krumm);Das schneidet allerdings nur die Nachkommastellen ab. Richtig Runden kann man damit nicht. Für die Ausgabe zumindest kann man folgendermaßen runden:
printf("%.3f", 3.1415926535); # gibt 3,141 zurück
Das wird allerdings wohl nicht funktionieren, um Skalaren gerundete Werte zuzuweisen - oder ich weiß nicht, wie das funktioniert. Für weitere Informationen zum Runden siehe perlfaq4:
sprintf wäre hier die richtige Funktion! Mit ihr wird halt ein entsprechender Skalar erzeugt, der
dann auch weiterverarbeitet werden kann ...
$rund = sprintf("%.$nachkommastellen", $krumm);
ciao,
Jörk