Pokud je máte jako čísla, můžete tuto funkci použít přímo.
function formatValue($size, $precision = 1)
{
static $suffixes = array('', 'k', 'm');
$base = log($size) / log(1000);
return round(pow(1000, $base - floor($base)), $precision) . $suffixes[floor($base)];
}
Pokud je nemáte jako čísla, použijte PHP:neformátované peníze
Pro váš konkrétní případ můžete použít malý špinavý hack, ale nedoporučuji to, pokud máte více speciálních případů.
function formatValue($size, $precision = 1)
{
static $suffixes = array('', 'k', 'm');
$base = log($size) / log(1000);
if ($base >= 5/3 && $base < 2) {
return round(pow(1000, $base - floor($base)) / 100, $precision) . 'lakh';
}
return round(pow(1000, $base - floor($base)), $precision) . $suffixes[floor($base)];
}