login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Grote getallen

Offline Stijn1 - 20/08/2006 11:57 (laatste wijziging 20/08/2006 11:58)
Avatar van Stijn1Gouden medaille

PHP ver gevorderde
Beste,

Ik ben sinds een paar daagjes weer eens wat aan het scripten. Nu ben ik een systeempje aan het maken dat als je een getal ingeeft, dat hij het in het nederlands zegt. Het systeem is denk ik af. Ik vind geen fouten meer. Maar ik wil dat ik het eigenlijk 'oneindig' kan gebruiken. Maar als ik nu groter als tienbiljoen wil gaan (10 000 000 000 000) dan krijg ik 1E+014 (honderdbiljoen). Heeft iemand mischien een idee hoe ik dit kan oplossen?

Alvast bedankt!

6 antwoorden

Gesponsorde links
Offline Stijn - 20/08/2006 12:15
Avatar van Stijn PHP expert kan je niet gewoon alle getallen in een array stoppen... miss voorbeeld van wat ik bedoel:
  1. <?php
  2. $getal = 10000000000000;
  3.  
  4. //kan verkeerd zijn :p
  5. preg_match("#[0-9]{1}#si" , $getal , $array );
  6.  
  7. /*
  8. $array = array(1 , 0 ,...);
  9. */
  10.  
  11. foreach( $array as $key => $value ) {
  12. play( $value);
  13. }
  14. ?>


stijn
Offline Stijn1 - 20/08/2006 12:21
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
Hmm, zo is het bijna niet te doen, dan moet ik heel mijn script gaan aanpassen... Ik blijf hopen dat er een andere manier bestaat.
Offline Stijn - 20/08/2006 12:23
Avatar van Stijn PHP expert maybe maar PHP convert altijd getallen naar die E014. misschien moet je in je script een for loop doen met die 14 en gewoon nullen toevoegen... snap je , zou geen manier kennen 
Offline Stefan14 - 20/08/2006 12:27
Avatar van Stefan14 PHP gevorderde zou php dat ook doen als je number_format() gebruikt?

  1. <?php
  2. number_format($getal,0,',','.');
  3. ?>
Offline Stijn1 - 20/08/2006 12:42 (laatste wijziging 20/08/2006 12:55)
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
Hey Stefan14,

Hartelijk bedankt, had niet gedacht dat het zo simpel zou gaan.
Heb het wel gewoon zo gedaan:
number_format(10000, 0, '', '');

Bedankt!!

Edit:
Hmm, het werkt, maar doe eens
  1. echo number_format(1000000000000000000000000, 0, '', '');

dan krijg je op je scherm:
1000000000000000600000000
Zeer vaag vind ik dit...
Dan zal het toch maar tot honderdtriljard werken..
Offline ikkedikke - 20/08/2006 13:00
Avatar van ikkedikke PHP expert het probleem is misschien dat in php een integer een maximale waarde heeft.
daardoor krijg je dat de significantie wat minder wordt en daar kan dit misschien uit voort komen ?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s