这可能是一个非常愚蠢的问题,但是如果我有一个值为44.0的CGFloat,我该怎么做到-44.0?我试过做-myFloat和0 - myFloat但它给了我0.为什么这样?另外,我不想要乘以-1的答案
答案 0 :(得分:4)
非常简单的家伙。只需将其乘以-1即可。
i.e. 44.0 * -1 = -44.0
<强>更新强>
Inafziger提到的解决方案2
yourNo = 0 - yourNo
答案 1 :(得分:4)
如果myFloat等于44.0,则表达式-myFloat将被计算为-44.0。你的代码中的其他地方有一个bug。你可以将表达式“发给你0”吗?
使用笨拙的解决方法只会使您的代码更难以阅读,从长远来看甚至更糟糕的调试。让我们理清实际问题。 :)
答案 2 :(得分:3)
好的,所以你不能乘以-1,怎么样:
myFloat = 0 - myFloat;
或
myFloat = myFloat - 2 * myFloat;