【问题标题】:Round just decimal in Javascript在 Javascript 中仅舍入小数
【发布时间】:2011-02-18 06:23:28
【问题描述】:

我有这样的价值观:

20.93

我想把它四舍五入

20.90

如何在 Javascript 中做到这一点?

谢谢!

【问题讨论】:

    标签: javascript numbers format decimal rounding


    【解决方案1】:

    将数字乘以 10,四舍五入,然后再除以 10:

    var result = Math.round(20.93 * 10) / 10
    

    【讨论】:

    • 我认为之后除以 10 会增加额外的精度损失
    • @wuhounited 他希望输出为20.9020.9020.9(至少在 javascript 中是 alert(20.90)
    • @brian toFixed(2) 返回20.93
    • 首先我按照你说的做了,它给了我“20.9”,所以我用 .toFixed(2) 打印了“20.90”
    【解决方案2】:

    我认为这应该可行:

    编号.toFixed(1);

    【讨论】:

      【解决方案3】:
      var num= 20.93
      num = Math.floor(num * 10) / 10; // 20.9
      num = Math.ceil(num * 10) / 10;  //21
      

      【讨论】:

        【解决方案4】:

        我认为您想要尾随零。没有一个答案能告诉你。它必须是一个字符串才能有尾随零。

        function my_round(x){
          return Number(x).toFixed(1) + '0';
        }
        

        如果您不关心尾随的零并且您想要一个数字(而不是字符串),那么这是另一种在 JavaScript 中舍入到小数位的方法。这四舍五入到小数位d。

        function my_round(x, d){
          return Number( Number(x).toFixed(d) );
        }
        

        你会的

        my_round('20.93', 1);
        

        my_round(20.93, 1);
        

        【讨论】:

          【解决方案5】:

          您可以设置toFixed(1)但设置值 = 20.96 然后你有 21 而不是 20.90;

          但我的函数总是 20.90 而不是 20.93,比如 20.98/97/96/95...

          <script>
          
              var num = 20.93;
          
          function vround(num) { // CREATE BY ROGERIO DE MORAES
          
              var Dif = (num.toFixed(2)-num.toFixed(1)).toFixed(2); 
              Dif = Dif * 100; 
              if(Dif <= -1) {
          
              var n = num.toFixed(2) - 0.05;
              vround(n);
               } else {
               var n = num.toFixed(1)+0;
              console.log(n);
               }
          }
          
          vround(num);
          
          </script>
          

          我创建此功能是为了让您获得价值,但如果您想要更多形式,可以更改。

          【讨论】:

          • 设置成 vround('you values / variable');并为您带来价值...
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-09-25
          • 1970-01-01
          • 2018-04-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多