Math.round在我的网页上没有做任何事情

Jam*_*lls 1 javascript

这是我的页面:http: //dl.dropboxusercontent.com/s/3kc058darzus1uu/pythagoras_questions.html

它应该是我正在辅导的一些学生的修订版网站,但是我在修复一个数字到2 dp时遇到了一些麻烦,我不知道为什么.我写过99到107行:

function answers() {
    c = Math.sqrt(a*a+b*b)
    console.log(c)
    Math.round(c*100)/100
    console.log(c)
    var el = document.getElementById("c")
    el.innerHTML="$"+c+"$"
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, el])
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它会跳过Math.round()函数.以下是控制台的示例输出:

46.32493928760188
46.32493928760188
Run Code Online (Sandbox Code Playgroud)

我只是不明白为什么它没有四舍五入,我做错了什么?奇怪的打字

Math.round(c*100)/100
Run Code Online (Sandbox Code Playgroud)

直接进入控制台给出:46.32.

截图:

显示问题的屏幕截图(未舍入的数字和显示输出的控制台

sjk*_*jkm 5

您必须再次将结果(返回值)分配给Math.round(c * 100) / 100变量c.

并且总是使用分号来分隔JavaScript语句,这样当两个语句出现在同一行时就不会出错(fe缩小js时).

function answers() {
    var c = Math.sqrt(a * a + b * b);
    c = Math.round(c * 100) / 100;
    var el = document.getElementById("c");
    el.innerHTML = "$" + c + "$";
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, el]);
}
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记将其中一个答案标记为正确.我推荐Genti Saliu的答案,因为它首先出现(几秒钟).我们中的几个人同时或多或少地回答; 我推测了其他两个,因为我们不能都得到正确答案的积分. (2认同)