Excel中的公式计算

我在Excel中计算时遇到了一些问题,需要用C#编写。

Excel中的计算是这样的:

=(26/1000*1,500+(0,0000039096*(26*26)+0,000082819*26+0,005066))*149468556,2 *(1+0,10%) 

这给出了: 7310663,398的结果

在C#中我有完全相同的计算(14949 ..数字中的更多小数除外:

 (26.0 / 1000.0 * 1.500 + (0.0000039096 * (26.0 * 26.0) + 0.000082819 * 26.0 + 0.005066)) * 149468556.2 * (1 + 0.1); 

这给出了这个结果: 7632589.7787303319

由于公式中的最后一个数字是百分比我也试过这个:

 (26.0 / 1000.0 * 1.500 + (0.0000039096 * (26.0 * 26.0) + 0.000082819 * 26.0 + 0.005066)) * 149468556.2 * (1 + (0.1/100)); 

这给出了这个结果: 6945656.6986446008

当然,我需要在C#中匹配Excel结果,但是我完全停留在如何实现这一点上。 猜猜我应该在math课上仔细聆听;-)

任何帮助/input这是非常感谢!

提前致谢。

祝一切顺利,

你有一个错字。 在Excel中,您使用了(1+0,10%)而在C#中使用了(1 + 0.1)

由于0.10%真的是0.10 / 100 ,所以应该用(1 + 0.001)代替。

所以正确的C#将是:

 (26.0 / 1000.0 * 1.500 + (0.0000039096 * (26.0 * 26.0) + 0.000082819 * 26.0 + 0.005066)) * 149468556.2 * (1 + 0.001); 

我的build议是保留所有的小数。 这可能是一个精确的错误。

你的结果与你应该得到的结果相似,这意味着它不是一个计算错误(例如忘记除以100等等,这将直接显示在你的结果中)。

至less,这给了我结果

 double ds = (26.0 / 1000.0 * 1.500 + (0.0000039096 * (26.0 * 26.0) + 0.000082819 * 26.0 + 0.005066)) * 149468556.2 * (1.0 + 0.1/100.0); Console.WriteLine(ds.ToString()); 

结果7310663.39550679