用纯js的话下面这样写:
<span id="a">10</span><span id="b">11</span>
<span id="c"></span>
<script>
var a=document.getElementById("a").innerHTML
var b=document.getElementById("b").innerHTML
var c=Number(a) + Number(b)
document.getElementById("c").innerHTML=c
</script>
parseFloat或者parseInt转换下,不然会当做字符串拼接的。我们这里用的Number来转换,此外还有parseFloat或者parseInt这两个转换函数。
另外,如果你会jQuery的话获取字符串内容那儿可以更加简单点。
<script>
var a=$("#a").html()
var b=$("#b").html()
var c=Number(a) + Number(b)
$("#c").html(c)
</script>
我需要得到js实现两个数字相加的结果,可是js总是默认按照字符串处理,将两个数字连接起来。解决这个问题,代码如下:
<script type="text/javascript">var a = 1var b = 2var sum = parseInt(a) + parseInt(b)</script>
1
2
3
4
5
parseInt()是js的解析字符串的函数,返回解析后的数字。
/**
** 加法函数,用来得到精确的加法结果
** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
** 调用:accAdd(arg1,arg2)
** 返回值:arg1加上arg2的精确结果
**/function accAdd(arg1, arg2) { var r1, r2, m, c try {
r1 = arg1.toString().split(".")[1].length
} catch (e) {
r1 = 0
} try {
r2 = arg2.toString().split(".")[1].length
} catch (e) {
r2 = 0
}
c = Math.abs(r1 - r2)
m = Math.pow(10, Math.max(r1, r2))
if (c >0) { var cm = Math.pow(10, c) if (r1 >r2) {
arg1 = Number(arg1.toString().replace(".", ""))
arg2 = Number(arg2.toString().replace(".", "")) * cm
} else {
arg1 = Number(arg1.toString().replace(".", "")) * cm
arg2 = Number(arg2.toString().replace(".", ""))
}
} else {
arg1 = Number(arg1.toString().replace(".", ""))
arg2 = Number(arg2.toString().replace(".", ""))
} return (arg1 + arg2) / m
}//给Number类型增加一个add方法,调用起来更加方便。
Number.prototype.add = function
(arg) { return accAdd(arg, this)
}
扩展资料
var a = 1,
var b = 2,
var c = a + b
这样c得出来的解果是12,
使用Number()函数可以解决这个问题,如下
var c = Number(a) + Number(b)
这样c得出来的解果是3,
JavaScript Number() 函数对象的值转换为数字。
<script type="text/javascript">
var test1= new Boolean(true)
var test2= new Boolean(false)
var test3= new Date()
var test4= new String("999")
var test5= new String("999 888")
document.write(Number(test1)+ "<br />")
document.write(Number(test2)+ "<br />")
document.write(Number(test3)+ "<br />")
document.write(Number(test4)+ "<br />")
document.write(Number(test5)+ "<br />")</script>