js “+” 连接字符串&数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用
一、机制
JavaScript中,加号不仅表示相加还表示字符串连接
当加号两边存在字符串时,加号代表连接,实际上是将两侧都转为了字符串,如
"1" + 1 = "11"
而当加号两侧都是数字的时候,则表示两个数相加,如
1 + 1 = 2
这是JavaScript中的隐式类型转换
txtName.innerHTML是字符串
所以当想要两个数字相加,保险起见:用下面方法:
parseInt($("#txtNum1").val()) + parseInt($("#txtNum2").val());
二、js数字相加出现多位小数问题
1.这是因为Javascript的数字类型是以64位的IEEE 754格式存储的。
2.解决方法把相加的结果做下处理
function toDecimal(x) {
var val = Number(x)
if (!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}