Я работаю с вероятностями, и мне нужно проверить, что сумма значений равна 1. Я писал юнит-тесты, и один из тестов не удался. Вот почему это не удалось:
double[] probabilities = new[] { 0.4, 0.3, 0.2, 0.1 };
double sum = probabilities.Sum();
//On my PC gives sum of 0.99999999999999989
if (sum != 1)
{
throw new ArgumentException(
"Sum of the probabilities does not equal to 1. " +
"Computed value was: " + sum);
}
Что я могу изменить, чтобы это стало правдой: 0.4 + 0.3 + 0.2 + 0.1 = 1
?