代码之家  ›  专栏  ›  技术社区  ›  Klimenko Kirill

如何美化JS中的大数字[关闭]

  •  -6
  • Klimenko Kirill  · 技术社区  · 6 年前

    我动态地得到一些带有数字的数据(例如,单个数字数组)。

    我不知道这个数字有多大,我不想把它美化成最近的数字。

    例如我不想绕圈子 54 50 60 100 .

    当巨大的数字像 209282938 应四舍五入为 200000000 300000000

    我怎样才能做到?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Charlie    6 年前

    选项1

    你可以使用 .toPrecision()

    It is explained in more detail here 但基本上,您可以指定有效数字的数量,例如

    function precise(x) {
      return Number.parseFloat(x).toPrecision(1);
    }
    
    console.log(precise(54));
    // output: "50"
    
    console.log(precise(2051075640));
    // output: "2000000000 "
    
    console.log(precise('99.999'));
    // output: "100"
    

    选项2

    如果你总是想把事情搞得更复杂或者更复杂,你可以用 .ceil() 和/或 .floor()

    注意:这些四舍五入到最接近的整数,但您可以处理输入以利用它们:

    1. 计算出输入的位数
    2. 除以10的适当倍数
    3. 使用 CELL() For()
    4. 乘以与之前相同的10的倍数