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