JS四舍五入到小数点后两位

JS round to 2 decimal places

本文关键字:两位 四舍五入 小数点 JS      更新时间:2023-09-26

我试图将返回的数字限制为只有小数点后2位,但这段代码不适合我;

function myFunction() {
var x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "Result is: " + x * 1.09; value = valToRound.toFixed(2);

}

我做错了什么?

在JS浏览器控制台中输入

  x = 2.71828
  x.toFixed(2)
  "2.72"

显然.toFixed(2)起作用

您的错误是在打印答案后将四舍五入,并且没有使用正确的变量。

document.getElementById("demo").innerHTML = "Result is: " + x * 1.09; value = valToRound.toFixed(2);

养成使用parseFloat()将字符串转换为数字的习惯也是一个好主意。在JS中,'2'*'2'是'4',但'2'+'2'是'22',除非你先转换为数字。

如果你这样做,它将工作:

function myFunction() {
  var x = parseFloat(document.getElementById("mySelect").value);
  var valToRound = x * 1.09;
  var value = valToRound.toFixed(2);
  document.getElementByID("demo").innerHTML = "Result is: " + value;
}