在javascript中添加两个数字

在javascript中添加两个数字,javascript,Javascript,我试图将这两个数字相加一个小时,但在第三个文本字段中无法得到结果。请帮我做到这一点。非常感谢。另外,请告诉我javascript中是否有add()方法 <!DOCTYPE html> <html> <head> <title>test</title> <style type="text/css"> #cal{ border:3px solid green; padding: 5

我试图将这两个数字相加一个小时,但在第三个文本字段中无法得到结果。请帮我做到这一点。非常感谢。另外,请告诉我javascript中是否有add()方法

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
<style type="text/css">
    #cal{
        border:3px solid green;
        padding: 5px;
        width:250px;
        text-align: center;
    }

</style>
</head>

<body>
    <button onclick="add()" id="button">Add</button>
    <div id="cal">
    <input type="text" value=" " id="num1" size="5">
    +
    <input type="text" value=" " id="num2" size="5">
    =
    <input type="text" value=" " id="sum" size="5"> 
    </div>
<script>
        function add()
    {
        var a = document.getElementById("num1").value;
        var b = document.getElementById("num2").value;
        var ans =  a + b ;
        document.getElementById("sum").value = ans;
    }
</script>

</body>
</html>

测试
#卡尔{
边框:3倍纯绿;
填充物:5px;
宽度:250px;
文本对齐:居中;
}
添加
+
=
函数add()
{
var a=document.getElementById(“num1”).value;
var b=document.getElementById(“num2”).value;
var ans=a+b;
document.getElementById(“sum”).value=ans;
}

输入值是字符串而不是数字。必须使用函数parseInt()将它们转换为整数,如果它们恰好是十进制数,则必须使用函数parseFloat()将它们转换为数字:

var a = parseFloat(document.getElementById("num1").value);
var b = parseFloat(document.getElementById("num2").value);
var ans = a + b;
document.getElementById("sum").value = ans;
检查这个 使用JavaScript函数


在转换为数字之前,它们不是数字,而是字符串。转换的方法有很多种,这就是我所说的典型的JavaScript初学者问题。别担心,每个JS开发人员都有过这个问题。如果它们是十进制的呢?您使用parseFloat而不是ParseInt,您省略了基数;这是故意的吗?@Teemu在回答时使用了
parseInt
@Teemu:no,但
parseInt()
确实如此;在原始答案中使用(在宽限期内编辑)。
function add(){
    var a = document.getElementById("num1").value;
    var b = document.getElementById("num2").value;
    var ans =  Number(a) + Number(b) ;
    document.getElementById("sum").value = ans;
}