[英]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.