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

我怎样才能四舍五入到最近的.05?[复制品]

  •  1
  • InspectorDanno  · 技术社区  · 7 年前

    这个问题已经有了答案:

    我想不出怎么精确到0.05。

    例如,12.86将转为12.85。

    22.88转为22.90。

    这是我目前所掌握的,但我显然没有走上正轨:

    const roundtoNickel = (price) => {
        price = price * 10;
        price = Math.round(price);
        return price/10;
      }
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Icehorn    7 年前

    乘以20,将数字四舍五入,然后除以20

     (Math.round(number*20)/20).toFixed(2)
    
        2
  •  1
  •   user2875404    7 年前

    我想这是你需要的。

    numberA = 0.69
    numberB = 0.76
    numberC = 3.76
    
    rounded = (Math.round(numberB * 10 * 2) / 2) / 10
    

    (Math.round(rating * 2) / 2) 是0.5的四舍五入。基本上加倍输入,然后除以2可以给你5和2.5。

    我做的是用10乘以一个小数点,然后再除以10,得到小数点。

    就像另一个答案指出的那样 (Math.round(number*20)/20).toFixed(2) 简而言之。