Javascript:添加整数和小数给出错误的答案

use*_*859 0 javascript

当我尝试使用整数添加十进制值时,我得到了错误的答案.

这就是我正在做的事情:我从以下字符串中获取4个数字:8'9''X 7'4''变为4个变量:v1,v2,v3,v4

然后我将第二和第四个数字v2,v4除以12(将英寸转换为十进制英尺)并将它们保存为另外两个变量v5,v6

所以,

v5 = v2/12; // 9/12 = 0.75
v6 = v4/12; // 4/12 = 0.33
Run Code Online (Sandbox Code Playgroud)

一切都工作正常,直到这里,它给出了正确的结果.然后,当我尝试添加v1 + v5和v2 + v6时,我得到了错误的答案.

v7 = v1+v5 // 8+0.75 should be 8.75; but I am getting 80.75
v8 = v2+v6 // 7+0.33 should be 7.33; but I am getting 70.33
Run Code Online (Sandbox Code Playgroud)

pra*_*nth 5

你只是合并两个变量是不执行添加.所以你需要parse使用变量parseFloat().它们将字符串转换 为数字

v7 = parseFloat(v1)+parseFloat(v5)
v8 = parseFloat(v2)+parseFloat(v6)
Run Code Online (Sandbox Code Playgroud)

工作实例

v1 = "8"
v2 = "7"
v5 = "0.75"
v6 = "0.33"
v7 = parseFloat(v1) + parseFloat(v5)
v8 = parseFloat(v2) + parseFloat(v6)

console.log(v7,v8)
Run Code Online (Sandbox Code Playgroud)