JS中的1000000到1M和1000到1K等等[重复]
Posted
技术标签:
【中文标题】JS中的1000000到1M和1000到1K等等[重复]【英文标题】:1000000 to 1M and 1000 to 1K and so on in JS [duplicate] 【发布时间】:2012-02-18 23:27:39 【问题描述】:可能重复:Is there a way round numbers into a friendly format? (e.g. $1.1k)How to format numbers similar to Stack Overflow reputation format
我在 JS 中有很长的数字,我想让它们以更短、更容易理解的方式出现..
所以:
1,000,000 = 1M
1,200,000 = 1.2M
1,450 = 1.45K and so on...
有什么想法可以在 JS 或 JQuery 中做到这一点吗?
【问题讨论】:
【参考方案1】:只是为了好玩,请查看Code Golf: Friendly Number Abbreviator
JS 最短答案:
function m(n,d)x=(''+n).length,p=Math.pow,d=p(10,d)
x-=x%3
return Math.round(n*d/p(10,x))/d+" kMGTPE"[x/3]
附言这可能不是最快或最好的解决方案。
重复:Is there a way to round numbers into a reader friendly format? (e.g. $1.1k)
【讨论】:
所以我猜n
是数字,但d
是干什么用的?谢谢
d
是小数位数的缩写。注意:code-golf 解决方案将x
和p
泄漏到全局范围内......不是一件好事。
但我需要动态使用它,而且我只有数字可以玩。有什么办法可以不输入小数位吗?
d
是要在缩写中显示的小数位数,而不是输入数字。如果你想为1200
显示 1.2k,你可以这样调用函数:m(1200,1)
我认为这是为了格式化驱动器空间,不是吗? G = gig's 而不是 B = 十亿? P 和 E 是什么?以上是关于JS中的1000000到1M和1000到1K等等[重复]的主要内容,如果未能解决你的问题,请参考以下文章