【问题标题】:1000000 to 1M and 1000 to 1K and so on in JS [duplicate]JS中的1000000到1M和1000到1K等等[重复]
【发布时间】: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 中做到这一点吗?

【问题讨论】:

    标签: javascript 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 解决方案将xp 泄漏到全局范围内......不是一件好事。
    • 但我需要动态使用它,而且我只有数字可以玩。有什么办法可以不输入小数位吗?
    • d 是要在缩写中显示的小数位数,而不是输入数字。如果你想为1200 显示 1.2k,你可以这样调用函数:m(1200,1)
    • 我认为这是为了格式化驱动器空间,不是吗? G = gig's 而不是 B = 十亿? P 和 E 是什么?
    猜你喜欢
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2016-06-17
    • 2021-05-12
    • 1970-01-01
    • 2020-08-30
    • 2020-01-07
    • 2011-09-23
    相关资源
    最近更新 更多