use 5.010; use Math::BigFloat; my $number = "999999999999999999999900"; my $decimal_places = 2; Math::BigFloat->precision(-$decimal_places); say Math::BigFloat->new($number)/(10**$decimal_places); __END__ 9999999999999999999999.00