代码之家  ›  专栏  ›  技术社区  ›  Marko

四舍五入到10美元

  •  24
  • Marko  · 技术社区  · 14 年前

    如何将Javascript中的十进制数四舍五入到最接近的10?今天我的数学真是糟透了,可能是两个小时的睡眠:/

    一些示例案例

    $2823.66  = $2820
    $142.11 = $140
    $9.49 = $10
    

    感谢任何帮助/指点!

    5 回复  |  直到 14 年前
        1
  •  70
  •   Toby    14 年前

    尝试

    Math.round(val / 10) * 10;
    
        2
  •  12
  •   Sebastián Grignoli    14 年前

    使用此功能:

    function roundTen(number)
    {
      return Math.round(number/10)*10;
    }
    
    
    
    alert(roundTen(2823.66));
    
        3
  •  9
  •   paxdiablo    14 年前

    要将一个数四舍五入到最接近的10,首先将它除以10,然后四舍五入到最接近的1,然后再乘以10:

    val = Math.round(val/10)*10;
    

    This page 有一些细节。他们走另一条路(例如,四舍五入到最接近的0.01),但理论和实践是相同的-乘(或除),四舍五入,然后除(或乘)。

        4
  •  4
  •   morgancodes    14 年前

        5
  •  2
  •   yckart Matthew Crumley    9 年前
    function round(number, multiplier) {
      multiplier = multiplier || 1;
      return Math.round(number / multiplier) * multiplier;
    }
    
    var num1 = 2823.66;
    var num2 = 142.11;
    var num3 = 9.49;
    
    console.log(
      "%s\n%s\n%s", // just a formating thing
      round(num1, 10), // 2820
      round(num2, 10), // 140
      round(num3, 10)  // 10
    );