Excel 公式转换为 C# 实现

Excel formula into C# implementation

所以我的目标是在 C# 中实现一个 Excel 公式,但我无法生成准确的结果。

Excel公式:

=(V11-AH11)*(-1+(1+M12)^((I12-J12)/365)) where  

V11 = 500000  
AH11 = 10000  
M12 = 0.41%  
I12 = 3/1/2016 (mm/dd/yyyy)  
J12 = 2/1/2016 (mm/dd/yyyy)  

结果 = 159.96

我的 C# 实现:

result = Convert.ToDouble((V11 - AH11) * (-1 + Math.Pow((1 + M12), (((Convert.ToDateTime(I12) - Convert.ToDateTime(J12)).TotalDays / 365)))));  

结果:159.32

我做错了什么?非常感谢任何帮助。

谢谢。 :)

这里的问题一定是精度问题。

即使 Wolfram Alpha 与 C# 一致,结果更接近 159.32 而不是 159.96。

我的赌注是百分比,看起来是经过计算的,所有其他数字都是很好的整数,比如数字。

我让 Wolfram Alpha 求解百分比以获得结果 159.96,结果返回 0.411653

所以 C# 代码是最正确的,你的 Excel 假设是错误的,你比你显示的更准确。