Dev*_*Joe 0 .net c# math excel
很明显我做错了但是我被困了所以我希望你能够帮助我.
我在Excel中有这个等式:=((247*(145/174)^3*60)/3600)*100
结果= 238.233
我在.Net中试过这个:
(Math.Pow(247.0 * (145.0 / 174.0), Convert.ToDouble(3*60)) / 3600.0) * 100;
Run Code Online (Sandbox Code Playgroud)
问题是C#返回INF而不是结果,如果我尝试这样做:
((long)Math.Pow(247.0 * (145.0 / 174.0), Convert.ToDouble(3*60)) / 3600.0) * 100;
Run Code Online (Sandbox Code Playgroud)
结果与Excel不匹配.
Fel*_*ano 10
我怀疑你应该写如下:
247.0*Math.Pow(145.0/174.0,3)*60/3600*100;
Run Code Online (Sandbox Code Playgroud)
请看这里的小提琴:http://dotnetfiddle.net/B32N3B
这是因为在excel运算符^(上升到幂)中具有优先权,*
因此excel线的意图是上升3 然后乘以60,而不是上升到3*60当然是溢出的那个.