Thread printf mit großen Zahlen? (9 answers)
Opened by LanX- at 2009-06-16 11:23

LanX-
 2009-06-16 11:23
#122519 #122519
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
Hi

ich steh gerade auf dem schlauch, zuerst dachte ich es sein ein Problem mit Math::BigInt aber ich bekomme es auch so nicht hin sprintf mit extra großen Zahlen zu benutzen, trotz Angabe der Flags für Überlänge "ll".

Besonders seltsam ist die 2. Zeile:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
perl -e '
for $j (1000,1_000_000,1_000_000_000) {
$i=$j**2;
print "\n",$j,": \t",$i,"\t=";
printf "%020llu", $i;
}'

1000:   1000000 =00000000000001000000
1000000:        1000000000000   =00000000004294967295
1000000000:     1e+18   =00000000004294967295


NACHTRAG: hier ein workaround mit f für floats ... sehr seltsam:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
 perl -e '
for $j (1000,1_000_000,1_000_000_000) {
$i=$j**2;
print "\n",$j,": \t",$i,"\t= ";
printf "%020.0f", $i;
}'

1000:   1000000 = 00000000000001000000
1000000:        1000000000000   = 00000001000000000000
1000000000:     1e+18   = 01000000000000000000

Last edited: 2009-06-16 11:43:10 +0200 (CEST)

View full thread printf mit großen Zahlen?