Ik ben opzoek naar een scriptje dat als je bijvoorbeeld 1234567890 hebt (als getal) dat PHP dan weergeeft: 1.234.567.890 en dat dan bij elk willekeurig getal.. ik heb al veel geprobeert, maar ik liep vanst bij die nullen!

Dus elke na 3 getallen een . (van achter naar voor)

ik dacht zo van: 1|234|567|890

| = scheiding

is me ook wel gelukt:D Maar ja:( Dan krijg je nullen die niet meegeteld worden omdat er dan staant bv: 012 dan rekent PHP die als 12:S Ja.. daar zit ik niet op te wachten.. is je getal opeens een stuk kleiner! Stel je voor wat er zou gebeuren als je getal 1000000 moest zijn! 1.0.0 Nou, dat lijkt een stuk minder!

PS: Zeg me ff als het niet duidelijk is..
Gebruik de functie number_format()

:)
Yes:D Gelukt:D Bedankt!
Mooizo weer een tevreden gebruiker...
lol, ja.. er kan een slotje op (of doen jullie daar niet aan?)
En als je het toch zonder number_format wilt doen:

$getal = 1000000;
$getal = strrev($getal);
$getal = preg_replace('/(\d{3})/', '$1.', $getal);
$getal = strrev($getal);
$getal = preg_replace('/^\./', '', $getal);

Dit is misschien niet de meest handige manier, maar als quick-end-dirty oplossing voldoet 'ie best (quick als in: het kostte me 45 seconden om het te schrijven, dirty als in: de methode is erg kort door de bocht, en kan wellicht in bepaalde gevallen niet de juiste output geven. De laatste preg_replace is nodig om te voorkomen dat een getal als 100.000 met een . begint.

Onder PHP5 kan het nog korter/gemakkelijker:

$getal = 1000000;
$tmp = str_split($getal, 3);
$getal = implode('.', $tmp);


Dit laatste heb ik overigens niet getest, omdat ik zelf (helaas) nog geen PHP5 op mijn server heb.
Ja:D Deze werkt ook:D Ook bedankt:D (ik heb jammer genoeg ook geen PHP5:( Dus heb die niet kunnen testen)

maar, alsnog: BEDANKT:D
Dan kan je ook nog naar sprintf() kijken ;-)
Hoe had je gedacht dat te doen? ;-) Er is vziw geen type specifier die separators toevoegt.
PHP.NET
<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money zal geven "123.1";
$formatted = sprintf ("%01.2f", $money);
// echo $formatted zal geven "123.10"
?>
Hmmm, seperators is ook wel mogelijk. Vraag mij alleen niet m'n formatted skills terug te halen want dan moet ik naar een psycholoog van frustratie.

Reageren