2017-04-06 32 views
1

我有一个变量(1),即< 0或0>。当值(1)大于0时,应该将该值加到另一个值(2)。但是如果该值为< 0,则值(2)应该减去值(1),当然,当减去。我的代码如下所示:当值为负时减去,当值为正时加上

positionRandomButton = CGPoint(x: CGFloat(randomXValue) + card.position.x, y: CGFloat(randomYValue) + card.position.y) 

这里randomXValue和randomYValue可以是该值(1)。现在它总是增加,被鄙视的价值(1)可以是< 0.我可以通过使四个案例解决这个问题,但我认为应该有一个更好的方法。你在代码中看到的+应该相应地改变,否则应该发生其他事情。谢谢。

+0

你的问题还不清楚。尝试在显示输入的问题中添加一个值表,并在变量1为正数和负数时为这两种情况输出结果。 – vacawama

回答

1

减去负数与添加正数相同。所以只需添加绝对值即可。

positionRandomButton = CGPoint(x: CGFloat(abs(randomXValue)) + card.position.x, y: CGFloat(abs(randomYValue)) + card.position.y) 
+0

这种方式card.position.x和Y总是会增加。 randomXValue和YValue可以是负数,因为通过这种方式,我知道card.position.x和/或y需要被给定(负)X或YValue所取代。当减去时,负X或Y值当然需要转换为正值。 –

+1

@ J.Doe我不知道你的评论意味着什么。我的回答是你需要或没有? – rmaddy

0

你可以添加负值:

var name1 = 10 
var name2 = -2 
var name3 = name1 + name2 // 10 + (-2) = 8 
相关问题