【问题标题】:JS limit the number of decimal places in a number [duplicate]JS限制数字中的小数位数[重复]
【发布时间】:2018-01-05 00:01:57
【问题描述】:

我有一个 js,它可以抓取值、乘法、求和、除法,然后将它们放入表格的单元格中。结果可以达到(我认为)小数点后 15 位。如何将其限制为两个?

例如: 数学运算结果:5.223567 我要:5.22

我想截断或舍入剩余的小数位。我对需要 js 之外的资源的解决方案持开放态度,但如果存在,我更喜欢 js 解决方案。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    使用.toFixed

    yourNumber.toFixed(2);
    

    请注意,.toFixed 将返回一个字符串,因为 JavaScript 使用 64 位浮点数,无法保证准确性。 (通俗的讲,JS不能准确表示0.1,所以必须返回一个字符串。)

    【讨论】:

    • 很好地解释了为什么 toFixed 返回一个字符串。
    • 他并没有说他想要一个字符串。
    【解决方案2】:
     (5.223567).toFixed(2)
    

    方法 toFixed 四舍五入到小数位数。

    【讨论】:

    • 当答案完全有效时为什么要投反对票。甚至没有评论解释为什么这被认为是不正确的。
    • 在这个标签中问了很多容易被发现的骗子的琐碎问题。用户对此感到厌倦,并对这些问题的答案投反对票。 Meta Stack Overflow 有更多信息,如果你搜索的话。
    • 我明白,将尝试对琐碎的问题添加评论;)而不是答案。
    • 它可能会在未来为您节省投票。祝你好运。
    【解决方案3】:

    如果你不想使用 .toFixed() 你也可以

    Math.round(num * Math.pow(10,x)) / Math.pow(10,x)
    

    其中 x 是小数位数,num 是原始数字

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      相关资源
      最近更新 更多