sub a{$_=int$_[0]*10**$_[1];s;(.{$_[1]})$;\.$1;;return$_};
####
my @a = ("1.10", "2.22");
print STDOUT &a($_, 1) for @a;
sub a{$_=int$_[0]*10**$_[1];s;(.{$_[1]})$;\.$1;;return$_};
####
sub a{$_=int$_[0]*10**$_[1]+.5;s;(.{$_[1]})$;\.$1;;chop if substr($_,-1)eq'.';return$_};
####
value|precision sprintf Incognito Albannach jeffa rob_au
'123.45678'|3: 123.457 123.456 123.456 123 123.457
'12.4'|1: 12.4 12.4 12.4 12 12.4
''|0: 0 0
'3.14'|5: 3.14000 3.14000 3.14000 00003.14 3.14000
'1'|5: 1.00000 1.00000 1.00000 00001 1.00000
'.5'|0: 0 1
'10'|5: 10.00000 10.00000 10.00000 00010 10.00000
'12.45435'|0: 12 12 12 12 12
'100'|5: 100.00000 100.00000 100.00000 00100 100.00000
'3.'|0: 3 3 3 3 3
'1000'|5: 1000.00000 1000.00000 1000.00000 01000 1000.00000
'12.56'|0: 13 12 12 12 13