Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I want to format a real number to 2.4f format.
This is simple one would say just use $n=sprintf("%2.4f",$n); ,
where $n is the number to be rounded. However when I do
this I get a number like 23.4600 or 23.0000, which is indeed
%2.4f format but I want to eliminate the trailing zeros and decimal
where needed resulting in 23.46 and 23
This is a chunk of the code that does it:
$n=sprintf("%2.4f",$n); $n =~ s/0+$//; $n =~ s/\.$//;
This does work just fine, however I would like to find away to do the substitution by combining the these 2 separate substitutions into 1 more eloquant one (single line).... or perhaps an even better way to do it all together. Thank you for your help.
Back to
Seekers of Perl Wisdom