Ми хочемо зробити цей проєкт з відкритим кодом доступним для людей у всьому світі.

Допоможіть перекласти цей підручник вашою мовою!

назад до уроку

Випадковий безкінечний цикл

важливість: 4

Цей цикл безкінечний. Він ніколи не закінчується. Чому?

let i = 0; while (i != 10) { i += 0.2; }

Це тому, що i ніколи не буде дорівнювати 10.

Запустіть код, щоб побачити реальні значення i:

let i = 0; while (i < 11) { i += 0.2; if (i > 9.8 && i < 10.2) alert( i ); }

Жодне значення не 10.

Такі речі трапляються через втрати точності при додаванні дробів на зразок 0.2.

Висновок: уникайте порівняннь при роботі з десятковими дробами.