【问题标题】:Abbreviate numbers with with varying precision具有不同精度的缩写数字
【发布时间】:2014-08-26 09:35:29
【问题描述】:

我已经做了很多尝试来让它发挥作用。但是我发现的所有内容都以错误的数字四舍五入结束 - 或者与缩写字符撞墙。

我想要的是一个函数,我可以给出一个数字,比如1234,它应该缩短为:1.23k。但精度可能会因数字的大小而异。

所以我的问题是,我该如何编写这样的函数?

expected outcomes:
1 -> 1
9 -> 9
10 -> 10
100 -> 100
999 -> 999
1000 -> 1k
1001 -> 1k
1010 -> 1.01k
10100 -> 10.1k
1000000 -> 1m
1010000 -> 1.01m
10000000 -> 10m
1000000000000000 -> 1quad
1000000000000000000 -> 1quint

所以后缀并不总是单个字母,它们可以是整个单词。

这可以动态执行吗?还是我必须对每一个结果进行硬编码?

【问题讨论】:

  • 您没有提供有关您的任务的足够详细信息。仔细考虑并告诉我们您有哪些显示类型以及在什么条件下使用哪些显示类型。
  • 搜索“人性化”库。有几个不错的。

标签: javascript numbers decimal abbreviation


【解决方案1】:

根据您提供的信息,我想出了this solution。它基于Number.prototype.toExponential 方法。

例子:

console.log(abbreviate(1000000000000000000)); // 1quint

不过,您必须对其进行调整,使其符合您对四舍五入的需求。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-08-14
  • 2020-04-26
  • 2015-05-17
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
相关资源
最近更新 更多