Top.Mail.Ru
Уведомления
Очистить все

Цикл for со step в float (double) на Kotlin?

 KYE
(@kye)
New member

Доброго дня, проконсультируйте пожалуйста по следующему вопросу. Использую в приложении (Android SDK, Kotlin) циклы такого вида:

for (i in 2..20 step 2) {

}

Значение i меняется на 2 с каждой итерацией цикла - ожидаемое поведение. Но если я меняю так:

for (i in 2..20 step 2.1) {

}

То проект перестает собираться с ошибкой: Argument type mismatch

Правильно ли я понимаю, что Kotlin в принципе по какой-то причине не поддерживает шаг в float? То есть так использовать цикл в любом случае не получится?


Цитата
Создатель темы Размещено : 02.10.2025 15:59
Aveal
(@aveal)
Top level Admin

Запись от: @kye

Правильно ли я понимаю, что Kotlin в принципе по какой-то причине не поддерживает шаг в float?

Да, верно, так делать нельзя. А причина простая - чтобы не было потенциальных проблем из-за точности, в принципе очень разумно.

Используй while().


ОтветитьЦитата
Размещено : 02.10.2025 21:24
 KYE
(@kye)
New member

@aveal понял, спасибо. Через while() вот так?

var i = 2.0
while (i <= 20.0) {
    // Work
    i += 2.1
}

ОтветитьЦитата
Создатель темы Размещено : 02.10.2025 21:29
Aveal
(@aveal)
Top level Admin

@kye да, нормально.


ОтветитьЦитата
Размещено : 03.10.2025 10:20
Поделиться:
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.