Re: printf: zero pad after the decimal a given amount
- From: "szr" <szrRE@xxxxxxxxxxxxxxx>
- Date: Mon, 31 Mar 2008 01:23:39 -0700
jidanni@xxxxxxxxxxx wrote:
Why is there no way to tell printf to zero pad like the right column:
0.1 :0.100
0.05 :0.050
0.03 :0.030
0.025 :0.025
0.02 :0.020
0.015 :0.015
0.0125 :0.0125
0.01 :0.010
0.009 :0.009
0.00625:0.00625
0.005 :0.005
The challenge: Change only the "WHAT?" below to produce the right
column above. Thanks.
use constant S => 100000;
for ( 10000, 5000, 3000, 2500, 2000, 1500, 1250, 1000, 900, 625, 500
) { printf "%-7g:WHAT?\n", $_ / S, $_ / S;
}
use constant S => 100000;
for ( 10000, 5000, 3000, 2500, 2000, 1500, 1250, 1000, 900, 625, 500 ) {
printf "%-7g:%01d.%3.3s%s\n", $_ / S, int $_ / S,
sprintf("%05d", $_),
map { $_ ? $_ : '' } ($_ % 100) =~ m!^(\d+?)0*$!;
}
__OUTPUT__
0.1 :0.100
0.05 :0.050
0.03 :0.030
0.025 :0.025
0.02 :0.020
0.015 :0.015
0.0125 :0.0125
0.01 :0.010
0.009 :0.009
0.00625:0.00625
0.005 :0.005
:-)
--
szr
.
- References:
- printf: zero pad after the decimal a given amount
- From: jidanni
- printf: zero pad after the decimal a given amount
- Prev by Date: Re: Timer/Stopwatch
- Next by Date: Re: Sharing a DBI::Mysql database connection with your children
- Previous by thread: Re: printf: zero pad after the decimal a given amount
- Next by thread: Re: printf: zero pad after the decimal a given amount
- Index(es):