#!/usr/bin/perl main(); sub main { my ($num,$prec)=@ARGV; my ($mant,$dec) = split (/\./,$num); $dec=$dec?$dec:"0"; $mant=~s/^(-?)0+/$1/; $mant=!$mant?0:$mant; ($prec,$dec)=$prec==0?($prec,undef):($prec+1,substr($dec,0,$prec+1)); $dec=~s/$dec/length($dec)<$prec?$dec."0"x($prec-length($dec)):$dec/e; my $round = join ("",($mant,length($dec)?".":"",round($dec))); output ($round); } sub round { my $dec=shift; $dec=~s/(\d)(\d)$/$2<5?$1:$1+1/e; $dec; } sub output { print "Round = ",shift,"\n"; }