Mysql
 sql >> Database >  >> RDS >> Mysql

Formatta il numero in numero abbreviato

Se li hai come numeri, puoi utilizzare direttamente questa funzione.

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)];
}

Se non li hai come numeri, usa PHP:unformat money

Per il tuo caso particolare potresti usare dei piccoli hack sporchi, ma non lo consiglio se hai casi più particolari.

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)];
}