在javascript中添加其他文本框值之前,如何避免文本框中出现NaN
我使用下面的代码添加文本框值,如果任何文本框没有给定值,它将在total textbox中显示NaN如何避免它在javascript中添加其他文本框值之前,如何避免文本框中出现NaN,javascript,html,Javascript,Html,我使用下面的代码添加文本框值,如果任何文本框没有给定值,它将在total textbox中显示NaN如何避免它 <script> function totalValue() { var a = document.getElementById("a").value; var b = document.getElementById("b").value; var c = document.getElemen
<script>
function totalValue()
{
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = parseFloat(a)+ parseFloat(b)+ parseFloat(c);
document.getElementById("total").value = d;
}
</script>
函数totalValue()
{
var a=document.getElementById(“a”).value;
var b=document.getElementById(“b”).value;
var c=document.getElementById(“c”).value;
var d=parseFloat(a)+parseFloat(b)+parseFloat(c);
document.getElementById(“总计”).value=d;
}
试试这个:
<script>
function totalValue()
{
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = parseFloat(a)+ parseFloat(b)+ parseFloat(c);
document.getElementById("total").value = d;
}
</script>
<script>
function totalValue()
{
var a = document.getElementById("a").value || 0;
var b = document.getElementById("b").value || 0;
var c = document.getElementById("c").value || 0;
var d = parseFloat(a)+ parseFloat(b)+ parseFloat(c);
document.getElementById("total").value = d;
}
</script>
函数totalValue()
{
var a=document.getElementById(“a”).value | | 0;
var b=document.getElementById(“b”).value | | 0;
var c=document.getElementById(“c”).value | | 0;
var d=parseFloat(a)+parseFloat(b)+parseFloat(c);
document.getElementById(“总计”).value=d;
}
小提琴:
<script>
function totalValue()
{
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = parseFloat(a)+ parseFloat(b)+ parseFloat(c);
document.getElementById("total").value = d;
}
</script>
//检查文本框中的给定文本是数字还是不需要的字符串
filterInt=函数(值)
{
如果(/^\-?[0-9]+$/.test(值))
返回编号(值);
返回NaN;
}
函数totalValue()
{
var a=document.getElementById(“a”).value;
var b=document.getElementById(“b”).value;
var c=document.getElementById(“c”).value;
a=filterInt(a)| | 0;//如果是字符串,则将其转换为Nan,如果是Nan,则将其转换为零
b=过滤器(b)| | 0;
c=过滤器(c)| | 0;
var d=parseFloat(a)+parseFloat(b)+parseFloat(c);
document.getElementById(“总计”).value=d;
}
您可以将
0
附加到字符串:
<script>
function totalValue()
{
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = parseFloat(a)+ parseFloat(b)+ parseFloat(c);
document.getElementById("total").value = d;
}
</script>
<script>
function totalValue()
{
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = parseFloat('0' + a)+ parseFloat('0' + b)+ parseFloat('0' + c);
document.getElementById("total").value = d;
}
</script>
函数totalValue()
{
var a=document.getElementById(“a”).value;
var b=document.getElementById(“b”).value;
var c=document.getElementById(“c”).value;
变量d=parseFloat('0'+a)+parseFloat('0'+b)+parseFloat('0'+c);
document.getElementById(“总计”).value=d;
}
你是什么意思?如果没有给出a的值,d只有b和c的和?parseFloat('0'+a)
,但它不会将这两个加起来,并在NaNthanks将其工作方式调整为无效时给出输出。尝试在任何输入中键入字符串。但是您可以将其更改为(parseFloat(a)| | 0)
如果任何文本框中都有字符串或字符怎么办?它又回来了NaN@meze,您在这一点上是对的,您的解决方案非常干净、漂亮。我实际上已经回答了“没有给定值”。。