PHP PHP实现大数字格式化成K/M/B结尾的简短形式

justin · 2021-02-04 11:20:22 · 热度: 43

这个功能在显示文章访问量中会用到,在GitHub的star中也会有,比如:

  • 232简短显示为232
  • 12556简短显示为12.6k(四舍五入)
  • 1232323简短显示为1.2m(四舍五入)
  • 32343533232简短显示为32.3b(四舍五入)

PHP实现代码:

/**
 * 转换数字为简短形式
 * @param $n int 要转换的数字
 * @param $precision int 精度
 */
function shortenNumber($n, $precision = 1)
{
    if ($n < 1e+3) {
        $out = number_format($n);
    } else if ($n < 1e+6) {
        $out = number_format($n / 1e+3, $precision) . 'k';
    } else if ($n < 1e+9) {
        $out = number_format($n / 1e+6, $precision) . 'm';
    } else if ($n < 1e+12) {
        $out = number_format($n / 1e+9, $precision) . 'b';
    }

    return $out;
}
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册