@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
Почему это так работает?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
По тому что IEEE754
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 июл. 2024, в 05:17
50000 руб./за проект
24 июл. 2024, в 01:58
40000 руб./за проект
24 июл. 2024, в 01:55
5000 руб./за проект