首页 > 解决方案 > JS如何添加而不是连接数字

问题描述

这个问题有一个答案:

请参阅 - Javascript 变量未正确添加两个变量,仅连接

我正在尝试将 5 个单位添加到一个数字,但该数字被连接起来。

 this.graphicState[i].shapes[j][k].x += 5

每次循环运行时,输出都是

105.00
105.005
105.0055
105.00555
...

我正在寻找的输出是,

105.00
110.00
115.00
120.00
...

我试过了,

this.graphicState[i].shapes[j][k].x += parseFloat(5)

我也试过这个,但得到相同的结果,

this.graphicState[i].shapes[j][k].x = this.graphicState[i].shapes[j][k].x + 5

谢谢,

标签: javascriptconcatenation

解决方案


您需要将任何/所有字符串值转换为表达式中的数字,该表达式将字符串作为操作数,+作为运算符。这5不是问题,这是:

this.graphicState[i].shapes[j][k].x

所以,这就是需要转换的东西。您可以通过添加 a 来轻松做到这+一点:

+this.graphicState[i].shapes[j][k].x;

首先对字符串进行转换,然后在数学表达式中使用转换后的值。这是一个简化的示例:

var result = "5"
result = +result + 10;
console.log(result);


推荐阅读