0

好的,例如:

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

我正在使用

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

但这对我不起作用!

请帮我!谢谢 !

4

1 回答 1

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";
于 2013-07-29T08:39:32.317 回答