簡體   English   中英

.NET中的Math.Pow

[英]Math.Pow in .Net

好吧,顯然我在做錯事,但是我被困住了,所以希望您能為我提供幫助。

我在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; 

問題是C#返回INF而不是結果,如果我嘗試這樣做:

((long)Math.Pow(247.0 * (145.0 / 174.0), Convert.ToDouble(3*60)) / 3600.0) * 100;

結果與Excel不匹配。

我懷疑你應該這樣寫:

247.0*Math.Pow(145.0/174.0,3)*60/3600*100;

在這里查看小提琴: http : //dotnetfiddle.net/B32N3B

這是因為在excel運算符^ (上電)中優先於*因此excel行的意圖是先上升到3 然后乘以60而不是上升到3*60 ,這當然會導致溢出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM