繁体   English   中英

格式编号为缩写编号

[英]Format number to abbreviated number

我有一个数据库,其中包含数字格式的值,例如:

5,000 for 5k 

86,600 for 86.6k

4,100,000 for 4.1m

在浏览器中显示它应该显示为5k为5000,86.6k为86,600等。我需要PHP中的代码。 如果有任何内置功能,请提及它。

如果您将它们作为数字,则可以直接使用此功能。

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

如果您没有将它们作为数字,请使用PHP:unformat money

对于你的特殊情况,你可能会使用一些脏的黑客,但如果你有更多的特殊情况,我不推荐它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM