@foonfyrick

Почему var a:Double =0.0, a += 0.1 дает не точный результат?

var a:Double = 0.0
    a += 0.1+0.1+0.1+0.1+0.1+0.1+0.1
   println( a)
//выводит 0.7

Если добавить еще 0.1, то выводит 0.7999999999
потом 0.8999999999
потом 0.9999999999
потом 1.0999999999
Почему это так работает?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
По тому что IEEE754
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы