【问题标题】:I have a number and I need to format it to billion or million我有一个数字,我需要将其格式化为十亿或百万
【发布时间】:2018-09-27 20:54:52
【问题描述】:

我需要一个接收数字并返回格式化总和的函数。 例如:我有一个数字 - 136866516683 这应该返回 136.87B(四舍五入)。 你能帮我吗?

这就是我所做的:

function fnum(x) {
if(x < 1000000000) {
    return Math.round((x/1000000)) + "M";
}

if(x < 1000000000000) {
    return Math.round((x/1000000000)) + "B";
}

 return "More";
}

【问题讨论】:

  • 你试过什么?您是否在 "How to format numbers in JavaScript" 上进行过 Google 搜索?
  • 我投票决定将此问题作为题外话结束,因为用户似乎没有尝试过任何事情,只是在请求解决方案。
  • @ScottMarcus 我写了这个函数,但它返回时没有百分之一
  • 再一次,您是否完成了我链接到的 Google 搜索?
  • @ScottMarcus:关于 Meta 的讨论表明我们将此类问题标记为“太宽泛”。这对我来说效果很好。

标签: javascript algorithm formatting


【解决方案1】:

toFixed() 方法将数字转换为字符串,保留指定的小数位数。
这是 JsFiddle 链接
https://jsfiddle.net/zco2d5x1/

function fnum(x) {
  if (x < 1000000000) {
    alert((x / 1000000).toFixed(2) + "M");
  } else if (x < 1000000000000) {
    alert((x / 1000000000).toFixed(2) + "B");
  } else
    alert("More");
}
fnum(136866516683);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2013-05-12
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多