我正在努力使用需要用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计算的结果相匹配,虽然在数学方面我肯定不是一个天才,但我没有发现这个计算的差异: - /
有人能指出这个数学盲人正朝着正确的方向前进吗? : - )
非常感谢任何帮助/输入!
提前致谢。
一切顺利,
博
修改 谢谢你的所有答案! :-)我刚刚在那里学到了新东西。
答案 0 :(得分:6)
更改EXcel中单元格的格式,它会显示exact
结果。
Excel中的-0,7333 * (1) ^ 2
也是-0.7333 * Math.Pow((1.0), 2)
而不是你写的。
答案 1 :(得分:1)
您的错误是excel会在乘法之前执行此操作:
double q = (-0.7333 * Math.Pow((1.0), 2) + 3.3167 * 1.0 + 1.625) * 1821.3125 * 16.0 / 1000 * 1.125;
答案 2 :(得分:0)
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
好多了!!