在JavaScript中减去和添加数字有什么区别? [重复]

问题描述 投票:2回答:2

这个问题在这里已有答案:

我从服务器接收JSON并且必须添加或减去一些数字,但它不适用于添加,但是对于减法它可以。知道为什么吗?

data = {
  point: {
    x: '4.0',
    y: '10.0'
  }
}

startX = 10;
startY = 5;

newX= startX + data.point.x;
newY= startY - data.point.y;

console.log(newX, newY)
javascript
2个回答
2
投票

您需要将字符串转换为数字,因为字符串可以添加,这意味着连接。通过取-,两个操作数都转换为数字。

var data = { point: { x: '4.0', y: '10.0' } },
startX = 10,
startY = 5,
newX = startX + +data.point.x,
newY = startY - +data.point.y;

console.log(newX, newY)

0
投票

那是因为你将来自JSON的数字视为字符串而不是数字。您需要先将它们转换为数字(整数或浮点数)。

newX = startX + parseFloat(data.point.x);
newY = startY - parseFloat(data.point.y);
© www.soinside.com 2019 - 2024. All rights reserved.