将excel函数转换为c#Math.pow不会产生相同的值
本文关键字:函数 excel 转换 pow c#Math | 更新日期: 2023-09-27 18:23:58
我正试图将此函数从excel转换为C#:
=10^(0.1*(-44.1224+3.32*(-9760520104064452*LOG(0.89*(200/160))))
excel给我的是:1.2467E-06
var value = Math.Pow(10, 0.1 * (-44.1224 + 3.32 * (-97.060520104064452 * Math.Log10(0.89 * (200 / 160)))));
C#给我的C#值=0.00165443260792358536
有人知道为什么我在excel和c#中没有得到相同的值吗?
因为C#为您取整。
更改此项:
200 / 160
至
200.0 / 160.0
本地输出:
1.24676291550131E-06
这是因为200/160被强制转换为整数,从而截断结果。为了解决这个问题,你可以按照Rob的建议,把分子或恶魔写为浮点数。请参阅/操作员参考。