PHP ver gevorderde |
|
Hoi lui,
Ik wilde ff een simpele functie schrijven die bij grotere getallen (>3), om de drie cijfers een ',' zet.
Ik had verwacht dat 't niet moeilijk was, gewoon met substr(); maar ik kom er niet meer uit (heb alweer teveel gedaan vandaag..).
Ik voer het getal 88008120.00 in, en er komt ,880,120.00 uit.
Er is iets mis met die substr(), maar ik zie zo de fout niet.
De functie:
<?php
function number($number) {
$newval = '';
if (numeric($number)) {
list($val, $dec) = explode('.', $number);
$length = strlen($val);
if ($length > 3) {
$divides = floor($length / 3);
for ($i=0; $i < $divides; $i++) {
$newval .= ','.substr($val, -($i*3), 3);
}
$ret = $newval.'.'.$dec;
}
else {
$ret = $number;
}
}
else {
$ret = $number;
}
return $ret;
}
<?php function number($number) { $newval = ''; if (numeric($number)) { if ($length > 3) { $divides = floor($length / 3); for ($i=0; $i < $divides; $i++) { $newval .= ','.substr($val, -($i*3), 3); } $ret = $newval.'.'.$dec; } else { $ret = $number; } } else { $ret = $number; } return $ret; }
|