我尝试做的是增加整个浮点值,例如:
-0.09683964401
为:
1.09683964401
或:
1.09683964401
为:
2.09683964401
-0.09683964401
为:
-1.09683964401
或:
-1.09683964401
为:
-2.09683964401
我知道我需要使用循环,但我该怎么办呢?
这就是我的尝试:
(float)myFloatValue++;
并没有做我真正需要的事情。
答案 0 :(得分:0)
您的示例中的行为可以通过以下方式复制:
void increment(float& f)
{
if ( f > -1 && f < 0 )
f = -f;
++f;
}
void decrement(float& f)
{
if ( f > 0 && f < 1 ) // Presumably; you didn't show any examples in this range
f = -f;
--f;
}
答案 1 :(得分:0)
您不需要循环来递增或递减任何数字。使用++运算符
myFloatValue++
或
myFloatValue = myFloatValue + 1
这将增加整个数字而不仅仅是整数部分。如果只想增加整数部分,那么
myFloatValue = myFloatValue < 0 ? (-myFloatValue + 1) : (myFloatValue +1);