JavaScript计算返回NaN作为结果
JavaScript calculations return NaN as result
我正在开发一个html页面,需要日期和显示日期。我用的是一个叫泽勒同余的公式。但是在JavaScript中,公式返回结果"NaN"。我在谷歌上搜索了这个问题。我想不出解决办法。下面是接受值的html:
<form method="post">
<br/>
day:<input id="dd" name="dd" type="text"/><br/>
month:<input id="mm" name="mm" type="text"/><br/>
year:<input id="yy" name="yy" type="text"/><br/>
<input type="submit" value="go" onclick="day()"/><br/>
</form>
这是返回NaN的JavaScript公式。
function day() {
var d=document.getElementById("dd").value;
var m=document.getElementById("mm").value;
var y=document.getElementById("yy").value;
var h=(d+(((m+1)*26)/10)+y+(y/4)+6*(y/100)+(y/400))%7;//returns NaN
var d2=((h+5)%7); code continues..
请帮帮我。
提前感谢。
在某些情况下,公式中的+
符号将执行字符串连接而不是求和,如JavaScript "1" + 1 === "11"
。您需要将值从字符串(从表单字段返回)转换为具有parseInt
或parseFloat
函数的数字:
var d = parseInt(document.getElementById("dd").value, 10);
或支持浮点数(如果需要):
var d = parseFloat(document.getElementById("dd").value);
或Number(v)
的快捷方式:
var d = +document.getElementById("dd").value;
Convert your values into numbers for use parseInt();
<script>
function day() {
var D=document.getElementById("dd").value;
var M=document.getElementById("mm").value;
var Y=document.getElementById("yy").value;
var d=parseInt(D);
var m=parseInt(M);
var y= parseInt(Y);
var h=(d+(((m+1)*26)/10)+y+(y/4)+6*(y/100)+(y/400))%7;
alert(h);
}
</script>
<form method="post">
<br/>
day:<input id="dd" name="dd" type="text"/><br/>
month:<input id="mm" name="mm" type="text"/><br/>
year:<input id="yy" name="yy" type="text"/><br/>
<input type="submit" value="go" onclick="day()"/><br/>
</form>
相关文章:
- 奇怪的Javascript结果
- 金额结果为NaN
- 斐波那契数列的结果是无穷大,然后是 NaN
- Map/Reduce给我NaN或错误的结果(由于null)
- NaN作为函数结果而不是必需的整数出现问题
- 具有唯一正方形的NaN结果
- 将函数从 obj 传递到数组中.然后添加数组,但结果是 NaN.为什么
- javascript中的NaN错误,但在调试时结果正确
- 从动态创建的数据进行计算的结果获取 NaN
- 在 JavaScript 中添加表值会在 NaN 的表单元格中给我一个结果
- 为什么json结果显示一个属性的NaN
- 结果得到NaN错误
- 获得NaN作为我的JS函数的结果.有人能解释一下原因吗?
- 为什么减法结果等于NaN ?
- 更新span是可以的,更新输入结果为'NaN'
- 为什么这个计算结果是NaN
- JavaScript计算返回NaN作为结果
- Javascript乘法结果NaN当我按tab键上的第二个值(数字与点和逗号)例如:45,524.25 * 65,25,
- 使用Javascript计算表单字段——得到NaN作为结果
- 当我使用parseInt时,结果是NaN,为什么