首页 > 解决方案 > 我的函数没有返回一个四舍五入的数字。有谁知道如何解决这一问题?

问题描述

  <script>
  function roundNumber() {
  var d = document.getElementById("d").value;
  var w = document.getElementById("w").value;
  var n = (f - n)
  document.getElementById("ng").innerHTML = n
  var rounded = n.toFixed(3);
  document.getElementById("n") = rounded;
  }
  </script>

寻找小数位的四舍五入数字。示例:91.46367 到 91.5

标签: javascripthtml

解决方案


该函数toFixed采用一个数字,表示小数点后出现的位数;这可能是 0 到 20 之间的值,包括 0 和 20。如有必要,返回的数字会四舍五入。

请参阅toFixed 上的 MDN

function computeGrade() {
  var cg = document.getElementById("cg").value;
  var dg = document.getElementById("dg").value;
  var wof = document.getElementById("wof").value;
  var ng = (dg - (cg * (1 - (wof / 100)))) / (wof / 100)
  document.getElementById("ng").innerHTML = "Needed grade: " + ng + "%";
  var rounded = ng.toFixed(1); // number indicated digits to show after decimal and includes rounding
  document.getElementById("rounded").innerHTML = "Rounded grade: " + rounded + "%";
}
<input id="cg" value="90" /><br />
<input id="dg" value="80" /><br />
<input id="wof" value="75" /><br />
<input type="button" onclick="computeGrade()" value="Compute" /><br />
<span id="ng"></span><br />
<span id="rounded"></span>


推荐阅读