use strict; use warnings; my $num = 0.05; my $num_string = sprintf("%e", $num); print "$num_string\n"; my($mantissa, $exponent) = split /e/, $num_string; my $new_exp = $exponent + 4; my $new_mantissa = $mantissa * 10**$new_exp; print $new_mantissa, "e-04\n"; __DATA__ 5.000000e-02 500e-04