Diese kleine Funktion erledigt das Problem sehr elegant:
// ****** Formatiere große Zahlen in lesbare Formate *****
function format_numbersize($in, $schwelle=0)
{
$sizes = array("", " Tsd.", " Mio.", " Mrd.", " Bio.", " Brd.", " Tio.", " Trd.");
$out = ($schwelle===false or $in<$schwelle) ? $in : floor($in/pow(1000, ($i = floor(log($in, 1000)))));
return number_format($out, 0, ",", ".").$sizes[$i];
}
Aufzurufen mit
echo format_numbersize( Integer, Schwellwert);
wobei der Schwellwert der Wert ist, ab dem die Zahlen in Namen gewandelt werden.
Beispiele:
echo format_numbersize( 956274, 1000000);
Ausgabe:
956.274
echo format_numbersize( 95627438, 1000000);
Ausgabe:
95 Mio.