2

可能重复:
如何在 Javascript 中舍入到小数点后 1 位?

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

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

4

4 回答 4

11

你需要这个:

var mynum = 1.450,
  rounded = Math.round(mynum * 10) / 10;
于 2012-10-02T11:22:52.017 回答
4

假设你有

var original=28.453;

然后

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

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

您还可以查看如何在 Javascript 中四舍五入到小数点后 1 位?

于 2012-10-02T11:24:28.787 回答
2

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

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

到:

result = Math.ceil(sub.toFixed(1)) + "M";
于 2012-10-02T11:27:21.017 回答
2

如果你使用,Math.round那么你会得到1for 1.01,而不是1.0

如果你使用toFixed你会遇到四舍五入的 问题

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

(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);
}
于 2012-10-02T11:57:53.410 回答