我从事概率相关的工作,需要检查值的总和是否为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
?此问题与IT技术无关。
if (sum != 1.0)
- Aleksey Razbakovsum != 100
。 - Aleksey Razbakov