gpt4 book ai didi

c# - 尝试将 Excel 方程转换为 C#

转载 作者:行者123 更新时间:2023-12-03 00:39:02 25 4
gpt4 key购买 nike

我有这个 Excel 方程,我正在努力将其转换为 C#。

“的幂”和“对数”部分让我很困惑。

Excel公式如下:

LOG((10^(PreSkillRating/400)/((-ChangeInRating/KFactor)+1)-10^(PreSkillRating/400)))*400/LOG(10)

到目前为止我有这个:

Math.Log((Math.Pow(PreSkillRating / 400, 10)) / (((ChangeInRating * -1) / KFactor) + 1) - Math.Pow((PreSkillRating / 400), 10)) * 400 / Math.Log(10)

我还知道除法时必须检查 0 来阻止尝试除以零错误。

例如,当我对每个变量使用以下值时,我在 excel 中得到 1879.588002 作为答案,但在 c# 中得到无穷大。

PreSkillRating = 1600
ChangeInRating = 50
KFactor = 60

我做错了什么?

最佳答案

根据之前的评论和我的第一个答案,我们总结一下:

  • 双除法的类型转换
  • Pow 的参数顺序错误
  • Math.Log(x) 方法错误。您可以使用 Math.Log(x,10) 或 Math.Log10(x)

尝试以下实现:

Math.Log10((Math.Pow(10, (double)PreSkillRating / 400)) / (((ChangeInRating * -1.0) / KFactor) + 1) - Math.Pow(10, (double)PreSkillRating / 400)) * 400 / Math.Log10(10)

关于c# - 尝试将 Excel 方程转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55053194/

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