function humanReadableLarge($num, $precision = 2)
{
if (!is_numeric($num)) {
return $num;
}
$units = [
'', 'thousand', 'million', 'billion', 'trillion', 'quadrillion',
'quintillion', 'sextillion', 'septillion', 'octillion', 'nonillion',
'decillion', 'undecillion', 'duodecillion', 'tredecillion',
'quattuordecillion', 'quindecillion', 'sexdecillion', 'septendecillion',
'octodecillion', 'novemdecillion', 'vigintillion'
];
$numStr = (string)$num;
$length = strlen($numStr);
$group = floor(($length - 1) / 3);
if ($group >= count($units)) {
$group = count($units) - 1; // fallback to largest known name
}
$divisor = bcpow('10', (string)($group * 3));
$shortValue = bcdiv($num, $divisor, $precision);
$shortValue = rtrim(rtrim($shortValue, '0'), '.');
return "{$shortValue} {$units[$group]}";
}sonra echo edersin
kullanabilmen icin sunucunda php nin bcmath kurulu olmasi lazim.