如何用PHP或JS友好显示阅读数量? 例如把1000转换为1k,10000转换为1w

一千以上的数量可以格式化为1k
比如 1320 转换为1.3k
或者 13200 转换为 1.32w

如图
效果如图,在网上找了很久,都没有找到这种插件,哪位大神可以告诉我在哪里能找到,或者此类插件的名称是什么,谢谢了~

阅读 9.2k
5 个回答
function test($num){
    if($num < 1000) {
       return $num;
    } else if($num >=1000 && $num < 10000){
       return round($num/1000,1).'k';
    } else if ($num >= 10000) {
       return round($num/10000,2).'w';
    }
}
echo test(1320);
<?php
function num2tring($num) {
    if ($num >= 10000) {
        $num = round($num / 10000 * 100) / 100 .' W';
    } elseif($num >= 1000) {
        $num = round($num / 1000 * 100) / 100 . ' K';
    } else {
        $num = $num;
    }
    return $num;
}

echo num2tring(12300); //1.23 W
echo num2tring(1200); //1.2 K
echo num2tring(200); //200

JavaScript里先对该数除以1000,再用Math.floor对结果向下取整,末尾加上k
Math.floor(n/1000)+'k'k
php也有类似用法

/\*\*  
 \* @param $num  
  \* @return string  
 \* 友好显示数字  
  \*/  
public function friendNum($num){  
  if(empty($num) || !is_numeric($num)){  
    return 0;  
 }  
 if($num >=1000 && $num < 10000){  
    return round($num/1000,1).'K';  
 }  
 if ($num >= 10000) {  
    return round($num/10000,2).'W';  
 }  
    return $num;  
}
新手上路,请多包涵

贴个稳定版的
`

function convert($num) 
{
    if ($num >= 100000)
    {
        $num = round($num / 10000) .'W+';
    } 
    else if ($num >= 10000) 
    {
        $num = round($num / 10000, 1) .'W+';
    } 
    else if($num >= 1000) 
    {
        $num = round($num / 1000, 1) . 'K+';
    }

    return $num;
}

`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题