Excel中的C#计算

我需要用C#写一个excel计算。

在Excel中的计算如下所示:

=(-0,7333 * (1) ^ 2 + 3,3167 * 1 + 1,625) * 1.821 * 16/1000 * 1,125 

在C#中我有这样的:

 Math.Pow(-0.7333 * (1.0), 2) + 3.3167 * 1.0 + 1.625) * 1821.3125 * 16.0 / 1000 * 1.125 

Excel的计算给了我138的结果

C#计算给我的结果是179.63554194392623

当然,C#的计算应该与Excel计算的结果相匹配,而在math方面我当然不是很好,但是我没有发现这个计算中的差别: – /

任何人都可以将这个math盲目的目标指向正确的方向吗? 🙂

任何帮助/input非常感谢!

提前致谢。

祝一切顺利,

编辑:谢谢你所有的答案! :-)我刚刚在那里学到了一些新东西。

更改EXcel中单元格的格式,它会显示出exact结果。

Excel中的-0,7333 * (1) ^ 2-0.7333 * Math.Pow((1.0), 2)而不是您写的。

你的错误是excel在多重化之前会做权力:

 double q = (-0.7333 * Math.Pow((1.0), 2) + 3.3167 * 1.0 + 1.625) * 1821.3125 * 16.0 / 1000 * 1.125; 

在excelexpression式中有一个缺失的括号:

 =((-0,7333 * 1) ^ 2 + 3,3167 * 1 + 1,625) * 1.821 * 16/1000 * 1,125 

这返回:

 179.60472015642 

否则,电源将仅适用于“1”。 而且,在excel公式中,术语1821缺less十进制数字。 所以:

 =((-0,7333 * (1) )^ 2 + 3,3167 * 1 + 1,625) * 1821,3125 * 16/1000 * 1,125 

这返回:

 179,635541943926 

好多了!!