in reply to Is there a way to display numbers with an implied decimal position?
to return 123456 What happens on 12345.6789 Do you wantmy $bob = 123.456 print &my_format($bob) . "\n";
does what you want. You can specify arbitary decimal places by passing in a second arg and replacing sprintf("%.3f",$num); with sprintf("%.$dec_places",$num);$bob = 123.4567; print &print_fixed($bob). "\n"; exit 0; sub print_fixed { my $num = shift; my $ipart = int($num); my $dpart = sprintf("%.3f",$num); my ($frac_part) = $dpart=~ /\.(\S*)/; return $ipart . $frac_part; }
|
|---|