C#中的Excel计算

本文关键字:计算 Excel 中的 | 更新日期: 2023-09-27 18:28:05

我有点难以处理需要用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计算的结果相匹配,虽然我在数学方面肯定不是天才,但我没有发现这个计算中的差异:-/

有人能指出这个数学盲在这里的正确方向吗?:-)

非常感谢任何帮助/意见!

提前谢谢。

一切顺利,

Bo

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

C#中的Excel计算

更改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;

excel表达式中缺少一个括号:

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

返回:

179.60472015642

否则,电源将仅应用于"1"。此外,在excel公式中,术语1821缺少小数位数。因此:

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

返回:

179,635541943926

好多了!!