Неточность вычисления .1 + .2 == .3 - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, подскажите пожалуйста как обойти вот этот феномен:
Console.WriteLine( .1 + .2 == .3 );
// Out - false
И из-за чего такое происходит? И в каких случаях кроме .1 + .2 может повториться?

Решение задачи: «Неточность вычисления .1 + .2 == .3»

textual
Листинг программы
            float aFloat = .1f, bFloat = .2f, cFloat = .3f, eps = .000001f;
            decimal aDecimal = .1m, bDecimal = .2m, cDecimal = .3m;
            Console.WriteLine("Float comparing: " + (aFloat + bFloat == cFloat).ToString());
            Console.WriteLine("Float comparing with eps: " + (Math.Abs(aFloat + bFloat - cFloat) < eps).ToString());
            Console.WriteLine("Decimal comparing: " + (aDecimal + bDecimal == cDecimal).ToString());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы