use warnings; use strict; use Math::BigFloat; use feature ':5.10'; my $x = Math::BigFloat->new('954846259588805228035541587771'); print $x->bdstr(), "\n"; print $x, "\n"; say $x; printf "%.0f\n", $x; printf "%.29e\n", 954846259588805228035541587771; __END__ Outputs: 954846259588805228035541587771 954846259588805228035541587771 954846259588805228035541587771 954846259588805282215996948480 9.54846259588805282215996948480e+29