% cat sprin
#! /usr/bin/perl -w
use strict;
for( 0..9 ) {
my $num0 = "1.$_";
my $num1 = "1.0$_";
my $num2 = "1.00$_";
printf "$num0 => %0.0f $num1 => %0.1f $num2 => %0.2f\n",
$num0, $num1, $num2;
}
####
% perl sprin
1.0 => 1 1.00 => 1.0 1.000 => 1.00
1.1 => 1 1.01 => 1.0 1.001 => 1.00
1.2 => 1 1.02 => 1.0 1.002 => 1.00
1.3 => 1 1.03 => 1.0 1.003 => 1.00
1.4 => 1 1.04 => 1.0 1.004 => 1.00
1.5 => 2 1.05 => 1.1 1.005 => 1.00
1.6 => 2 1.06 => 1.1 1.006 => 1.01
1.7 => 2 1.07 => 1.1 1.007 => 1.01
1.8 => 2 1.08 => 1.1 1.008 => 1.01
1.9 => 2 1.09 => 1.1 1.009 => 1.01
####
include
#include
int main( int argc, char **argv ) {
char *fmt = *++argv;
double f = atof( *++argv );
char buf[128];
sprintf( buf, "%%s => %s\n", fmt );
printf( buf, *argv, f );
return 0;
}
####
% ./s %0.0f 0.4
0.4 => 0
% ./s %0.0f 0.5
0.5 => 0
% ./s %0.0f 0.6
0.6 => 1
% ./s %0.0f 1.4
1.4 => 1
% ./s %0.0f 1.5
1.5 => 2
% ./s %0.0f 1.6
1.6 => 2