我试过了:
var maxnumber = Math.max([aantalkeerspeer, aantalkeerzwaard, aantalkeerscout, aantalkeerzc, aantalkeerkata]);和:
var maxnumber = Math.max(aantalkeerspeer, aantalkeerzwaard, aantalkeerscout, aantalkeerzc, aantalkeerkata);这两种方法都不起作用,我只得到NaN。我该怎么做呢?
发布于 2014-01-29 19:17:30
如果一个或多个参数不是数字,则Math.Max返回NaN。请确保所有内容都是数字
发布于 2014-01-29 19:37:13
Math.max() 函数将只检查一组数字的最大值,而不是字符串。这就是你唯一的答案NaN。
发布于 2020-07-16 09:41:28
我知道这是一个很晚的答案,但这是为那些正在寻找这个问题的人准备的。在我看来,对于像我这样的初学者来说,剩下的答案要么是不完整的,要么是有点令人困惑。问题是变量是字符串,这在Math.max()中是不起作用的。就我个人而言,适用于我的是parseInt(),它基本上将字符串转换为整数。您还可以使用parseFloat()将其转换为带有小数的数字。或者,Number()可以将其转换为两者,尽管如果文本输入字符串,它将返回NaN。
这里我提供一个例子:
<p id="display"></p>
<input id="firstone" type="number"></input>
<input id="secondone" type="number"></input>
<input id="thirdone" type="number"></input>
<br>
<button onclick="biggestnum();">Which is the biggest?</button>
<script>
function biggestnum(){
var input1 = document.getElementById("firstone").value;
var input2 = document.getElementById("secondone").value;
var input3 = document.getElementById("thirdone").value;
var x = parseInt(input1, 10)
var y = parseInt(input2, 10)
var z = parseInt(input3, 10)
var maximum = Math.max(x, y, z);
document.getElementById("display").innerHTML = maximum;
}
</script>
这基本上允许输入到输入中的数字在Math.max()中运行。关于parseInt()和parseFloat()需要注意的另一件重要的事情是,您必须指定数值基数(通常是10)。
https://stackoverflow.com/questions/21429361
复制相似问题