Member 13719839 Ответов: 1

Как создать функцию инкремента


если я получу то, что мне нужно, повторный запуск a должен быть внутри цикла, но когда я написал, это показало ошибку .

Что я уже пробовал:

float moveValue( float b = 0.0 f)
{

поплавок a =0.0 f;

для (float i = 0.0001 f; i < 5; i++)
{

тебя;


}


вернуть;

Patrice T

"Но когда я написал, что показал баг"
Какое сообщение об ошибке? - куда же? какая проблема?

что вы пытались сделать с этим кодом?

OriginalGriff

Вы можете - это добавляет к нему 1.0 f.

Richard MacCutchan

Да, я действительно попробовал это сделать после публикации этого комментария.

OriginalGriff

Это не имеет большого смысла - какой Жук?
Если я запускаю этот код, он делает именно то, что я ожидаю, и возвращает 4.0001 - так что же он делает, чего вы не ожидали, или не делает того, что вы сделали?
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

1 Ответов

Рейтинг:
0

#realJSOP

Похоже, вы предполагаете, что приращение будет тем же значением, с которого вы начинаете наш, но это не так. Как уже указывал Грифф, приращение всегда будет равно 1 (0r 1.0 в вашем случае).

Если вы хотите использовать что-то другое, кроме целочисленного приращения, вы должны использовать do/while петля. Кроме того, поскольку вы работаете со значением с плавающей запятой, вам следует позвонить Math.Round если вы хотите, чтобы цикл остановился точно на 5.0.

double i = 0d;
do 
{
    i = Math.Round(i+0.00001d, 5);

    // do something with the new value

} while (i < 5.0d);


Если это не то, что вы пытаетесь сделать, улучшите свой вопрос, чтобы кто-то мог дать вам ответ, который вам нужен.