Неточность вычисления .1 + .2 == .3 - C#
Формулировка задачи:
Здравствуйте, подскажите пожалуйста как обойти вот этот феномен:
И из-за чего такое происходит?
И в каких случаях кроме .1 + .2 может повториться?
Console.WriteLine( .1 + .2 == .3 ); // Out - false
Решение задачи: «Неточность вычисления .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());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д