js “+” 连接字符串&数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用

时间:2023-03-09 00:07:02
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;
}