in reply to Re: Math::BigInt and Leading Zeros
in thread Math::BigInt and Leading Zeros
sprintf doesn't quite work - it can only handle whatever the underlying perl library handles natively:
The next best thing I can think of is:$ perl5.8.6 -MMath::BigInt -e '$i = Math::BigInt->new("123_456_789_000 +_000"); printf "%025d\n", $i' -000000000000000000000001
Note that this does the right thing if the string is already longer than you want, e.g.:$ perl5.8.6 -MMath::BigInt -e '$i = Math::BigInt->new("123_456_789_000 +_000"); $s = $i->bstr(); $s = '0' x (25 - length $s) . $s; print $s,$ +/' 0000000000123456789000000
Hope that helps.$ perl5.8.6 -MMath::BigInt -e '$i = Math::BigInt->new("123_456_789_000 +_000"); $s = $i->bstr(); $s = '0' x (10 - length $s) . $s; print $s,$ +/' 123456789000000
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Math::BigInt and Leading Zeros
by hv (Prior) on May 05, 2005 at 09:38 UTC | |
by Tanktalus (Canon) on May 05, 2005 at 12:55 UTC | |
by radiantmatrix (Parson) on May 05, 2005 at 19:43 UTC | |
by Tanktalus (Canon) on May 05, 2005 at 23:44 UTC |