好的,例如:
8408至8.4K; 6735至6.7K; 3090至3K
我正在使用
if (likes > 999 && likes <= 999999) {
return Math.floor(likes / 1000) + "k";
}
但它不适合我!
请帮帮我! 谢谢!
答案 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";