【问题标题】:How to round an integer up or down to the nearest 10 using Javascript如何使用 Javascript 将整数向上或向下舍入到最接近的 10
【发布时间】:2009-11-05 22:46:40
【问题描述】:

使用 Javascript,我想将用户传递的数字四舍五入到最接近的 10。例如,如果传递了 7,我应该返回 10,如果传递了 33,我应该返回 30。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    将数字除以10,将结果四舍五入再乘以10,例如:

    1. 33 / 10 = 3.3
    2. 3.3 rounded = 3
    3. 3 × 10 = 30

    console.log(Math.round(prompt('Enter a number', 33) / 10) * 10);

    【讨论】:

    • 如果您想防止向上舍入,此技术也适用于 Math.floor
    • 可以使用 Math.ceil 方法进行四舍五入。
    • @brainstormerdanesh,如果您不同意或想改进答案的代码/意图,请发表评论。更好的是:发布您的编辑(可能会被拒绝)作为自己的答案。
    【解决方案2】:
    Math.round(x / 10) * 10
    

    【讨论】:

      【解决方案3】:

      i 是一个整数。

      向下舍入到最接近的 10 的倍数,即

      11 变成 10
      19变成10
      21 变成 20

      parseInt(i / 10, 10) * 10;
      

      四舍五入到最接近的 10 的倍数,即

      11 变成 20
      19变成20
      21 变成 30

      parseInt(i / 10, 10) + 1 * 10;  
      

      【讨论】:

      • 应该是:(parseInt(i / 10, 10) + 1) * 10; ?
      • @user3924331,你是对的。正确答案是 (parseInt(i / 10, 10) + 1) * 10;编辑必须至少有 6 个字符,因此不能只添加这两个括号...¯_(ツ)_/¯
      • 最接近的 10 为值 100 添加 +10,因此它变为 110。向下至最接近的 10 不会为 100 减去 -10,因此 100 仍为 100。
      • 这在 i 10 岁或以上时不起作用。更好的解决方案是 Math.floor(i / 10) * 10
      • parseInt(i / 10, 10) * 10;也许它会工作
      【解决方案4】:

      我需要类似的东西,所以我写了一个函数。我将函数用于小数舍入here,由于我也将其用于整数舍入,所以我也将其设置为这里的答案。在这种情况下,只需传入要四舍五入的数字,然后传入要四舍五入的数字 10。

      function roundToNearest(numToRound, numToRoundTo) {
          return Math.round(numToRound / numToRoundTo) * numToRoundTo;
      }
      

      【讨论】:

      • 我喜欢你把它变成了一个函数,但这是否会给出与接受的答案不同的输出,如果没有,你为什么使用不同的公式?
      • 它返回相同的值,但公式不同,因为它更易于使用。例如,如果您想四舍五入到最接近的.25,您可以简单地使用.25 作为第二个参数。如果您要在其他答案中使用公式,则当您想要四舍五入到 .25 时,您必须使用 4 作为第二个参数,这是违反直觉的。
      • 你能证明吗?我刚刚在控制台中进行了一些测试,接受的答案使用.25 作为第二个参数返回正确答案 - 我把它变成了一个线性函数function roundTo(x,y){return Math.round(x / y) * y}
      • @RozzA,你是对的。我正在考虑另一个类似问题的答案。我将简化我的功能。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      相关资源
      最近更新 更多