Баг или фича?
От: Vlad007 Россия  
Дата: 18.09.09 03:31
Оценка:
В результате выполнения следующих методов (C# 2008):
Console.WriteLine(Math.Round(1.4999999999999999));
Console.WriteLine(Math.Round(1.49));
получил два разных результата — 2 и 1.
Первый, естественно, неверен.
Понятно почему так получается — из-за неточности представления числа
в бинарном виде.
Но, с другой стороны, как ни крути — это ошибка!
Или, всё-таки, фича?...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.