gpt4 book ai didi

c# - 如何使数字之和等于 1

转载 作者:行者123 更新时间:2023-11-30 14:01:29 24 4
gpt4 key购买 nike

我处理概率,我需要检查值的总和是否为 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

最佳答案

double 不会为您提供那种数学所需的精度。

切换到十进制,一切都会好起来的。

关于c# - 如何使数字之和等于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com