in reply to Rounding of a number...
Here's another way to approach it:
sub trunc { my ($float, $precision) = @_[0..1]; my @comp = split /\./, $float; chop $comp[1] while length($comp[1]) > $precision; #trim $comp[1].='0' for (length($comp[1])..$precision-1); #pad return "$comp[0].$comp[1]"; } printf ("%5.2f", trunc($yearlyamount/52,2));
This will, of course, fail utterly if you pass in anything less than pristine values. I leave data validation and error handling as an exercise to whatever masochist chooses this route. Of course, you could also implement it in this insane manner:
$weekly = int(($yearlyamount/52)*100); $weekly = s,\d{2}$,\.$&,; printf ("%5.2f", $weekly);
As a last resort, you could always:
$weekly = sprintf("%.3", $yearlyamount/52); chop($weekly); printf "%5.2", $weekly;
Anima Legato
.oO all things connect through the motion of the mind
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Rounding of a number...
by Anonymous Monk on Dec 27, 2004 at 16:02 UTC |