【问题标题】:how to get 1.450 = 1.5 in javascript? (round to 1 decimal place) [duplicate]如何在 javascript 中获得 1.450 = 1.5? (四舍五入到小数点后一位)[重复]
【发布时间】:2012-09-23 06:00:32
【问题描述】:

可能重复:
How do you round to 1 decimal place in Javascript?

我的值为 1.450,我必须将其四舍五入到小数点后 1 位。

我想要 Javascript 中的 1.450 = 1.5 任何人都可以解决这个问题。

【问题讨论】:

标签: javascript


【解决方案1】:

你需要这个:

var mynum = 1.450,
  rounded = Math.round(mynum * 10) / 10;

【讨论】:

    【解决方案2】:

    假设你有

    var original=28.453;
    

    然后

    var result=Math.round(original*10)/10  //returns 28.5
    

    来自http://www.javascriptkit.com/javatutors/round.shtml

    你也可以看到How do you round to 1 decimal place in Javascript?

    【讨论】:

      【解决方案3】:

      鉴于您的fiddle,最简单的更改是:

      result = sub.toFixed(1) + "M";
      

      到:

      result = Math.ceil(sub.toFixed(1)) + "M";
      

      【讨论】:

        【解决方案4】:

        如果您使用Math.round,那么您将获得1 用于1.01,而不是1.0

        如果你使用toFixed,你会遇到roundingissues

        如果您想要两全其美,请将两者结合起来:

        (Math.round(1.01 * 10) / 10).toFixed(1)
        

        您可能想为此创建一个函数:

        function roundedToFixed(_float, _digits){
          var rounder = Math.pow(10, _digits);
          return (Math.round(_float * rounder) / rounder).toFixed(_digits);
        }
        

        【讨论】:

          猜你喜欢
          • 2014-07-27
          • 2013-03-23
          • 2011-11-12
          • 2022-01-12
          • 1970-01-01
          • 2015-11-24
          • 2012-03-11
          相关资源
          最近更新 更多