如何格式化从数千到K样式的数字

时间:2013-07-29 08:22:37

标签: javascript math rounding

好的,例如:

8408至8.4K; 6735至6.7K; 3090至3K

我正在使用

    if (likes > 999 && likes <= 999999) {
        return Math.floor(likes / 1000) + "k";
    }

但它不适合我!

请帮帮我! 谢谢!

1 个答案:

答案 0 :(得分:0)

许多(大多数?)语言允许您将数字格式化为一个字符串,以及小数点后您想要的位数。指定语言后,我会调查一下。

与此同时,请注意,目前您只是丢弃小数点后的数字。

你可以这样做:

return Math.floor(likes / 100) / 10.0 + "k";

如果likes是整数,您甚至可能不需要floor

return (likes / 100) / 10.0 + "k";

所以它是floor(6735 / 100) / 10.0 = floor(67.35) / 10.0 = 67 / 10.0 = 6.7

请注意,3090将打印为3.0k。您可能需要单独检查(除当前支票外),如:

if (likes / 100 % 10 == 0)
   return Math.floor(likes / 1000) + "k";
else
   return Math.floor(likes / 100) / 10.0 + "k";