sql >> Databasteknik >  >> RDS >> Mysql

Formatera nummer till förkortat nummer

Om du har dem som nummer kan du använda den här funktionen direkt.

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

Om du inte har dem som nummer, använd PHP:unformat money

För just ditt fall kan du använda lite dirty hack, men jag rekommenderar det inte om du har fler speciella fall.

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



  1. ställ in sqlite db korrekt i Android

  2. Vilket är bättre, implicit eller explicit gå med?

  3. Okänd kolumn i "fältlistan" när den förberedda satsens platshållare finns i underfrågan

  4. Fel vid laddning av oci8.so med Ubuntu server 17.04 php 7 och apache2