一行代码实现数值缩写

发布于 2021-11-10 13:02:24 字数 2533 浏览 1274 评论 0

什么叫数值缩写

1 => 1
1000 => 1K
10000 => 10K
1000000 => 1M
1000000000 => 1G

数值缩写是将长数值转换成短数值的表示。之前,这里的缩写单位弄混淆了,详见下表:

PrefixSymbol(s)Power of 10Power of 2
yocto-y10^-24--
zepto-z10^-21--
atto-a10^-18--
femto-f10^-15--
pico-p10^-12--
nano-n10^-9--
micro-m10^-6--
milli-m10^-3--
centi-c10^-2--
deci-d10^-1--
(none)--10^02^0
deka-D10^1--
hecto-h10^2--
kilo-k or K10^32^10
mega-M10^62^20
giga-G10^92^30
tera-T10^122^40
peta-P10^152^50
exa-E10^182^60
zetta-Z10^212^70
yotta-Y10^242^80

实现

var abbr = function (number) {
    var abbrList = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];
    var step = 1000;
    var i = 0;
    var j = abbrList.length;

    while (number >= step && ++i < j) {
        number = number / step;
    }

    if (i === j) {
        i = j - 1;
    }

    return number + abbrList[i];
};

通过 while 循环来相除 1000 步进值,直到相除次数到达缩写长度。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
781 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文