Я пытаюсь увеличить значение с плавающей точкой, например:
-+0,09683964401
чтобы:
+1,09683964401
или же:
+1,09683964401
чтобы:
+2,09683964401
-+0,09683964401
чтобы:
-+1,09683964401
или же:
-+1,09683964401
чтобы:
-+2,09683964401
Я знаю, что мне нужно было бы использовать цикл, но как бы я это сделал?
Вот что я попробовал:
(float)myFloatValue++;
который не делает то, что мне действительно нужно.
Поведение в ваших примерах может быть воспроизведено:
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;
}
Вам не нужен цикл для увеличения или уменьшения любого числа. Используйте оператор ++
myFloatValue++
или же
myFloatValue = myFloatValue + 1
Это будет увеличивать все число, а не только целую часть. И если вы хотите увеличить только целую часть, то
myFloatValue = myFloatValue < 0 ? (-myFloatValue + 1) : (myFloatValue +1);