Avatar billede pkdkk Nybegynder
17. september 2008 - 10:06 Der er 3 kommentarer og
1 løsning

$int++ hvorfor virker det ikke?

Hvorfor virker dette ikke??

Hvilken type skal jeg bruge for at den kan arbejde med så store tal??

$int = "3085694526000145";
$int++;
echo $int;

// Den udskriver:  3.085694526E+15
Avatar billede pidgeot Nybegynder
17. september 2008 - 10:24 #1
Det virker ikke fordi du overskrider grænsen for hvad der kan være i en int (typisk 2^31-1), og samtidigt går over præcisionen for en float, som PHP konverterer til i stedet (typisk 14 cifre).

Du kan bruge gmp_*-funktionerne for at arbejde med heltal på en vilkrålig størrelse. Du skal måske gencompile PHP, eller evt. have adgang til exec. Hvis det første er en mulighed, skal du have GMP-libraryet ind og gencompile PHP med --with-gmp. Hvis du kan bruge exec, kan du gøre som der står i kommentaren fra john at worldmapad dot com (23-Jul-2006 08:24) på http://dk.php.net/manual/en/ref.gmp.php.
Avatar billede pkdkk Nybegynder
17. september 2008 - 10:32 #2
Okay,. Tak for hjælpen, jeg finder på noget andet :).

Gir du et svar? :)
Avatar billede pkdkk Nybegynder
17. september 2008 - 10:32 #3
Hov.. det var ikke meningen det sku være et svar :)
Avatar billede pidgeot Nybegynder
17. september 2008 - 11:12 #4
Værsgo.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester