[PHP] Grote getallen rekenen..

Pagina: 1
Acties:

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 08-09 17:10
$var1 = 383200851981251;
$var2 = 0;
$result = $var1 - $var2;
print $result;

levert 3.8320085198125E+14

en dat is irritant.. Hoe kom ik daar vanaf?

Ik wil dus gewoon het hele getal hebben.. Dus niet met die E+14 erin..

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

De bcmath extensie, denk ik.

http://nl.php.net/manual/en/ref.bc.php

Rustacean


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Zo te zien wordt een floating point representatie voor je variable gebruikt. Kan je php geen ander type forceren, zoals een 64, 128 of 256 bits Integer?

[edit] zo te zien kan je dat met bcmath doen, maar het is wel wat omslachtig daar je al je dan bcmath's functies voor optellen enzo moet gebruiken.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 20:58

Janoz

Moderator Devschuur®

!litemod

Tja.. lose typing... Aangezien je getal te groot is voor een int gaat ie automatisch over op float. De enige mogelijkheid is om een andere taal te gebruiken, of zelf een 'bignumber' class te schrijven/zoeken.

[edit] Of idd de BCmath.. Ik had moeten weten dat ze voor zo ongeveer alles wel een functie/extensie hadden bedacht..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'