2016-02-24 66 views
0

爲什麼我不能使用math.pownumericUpDown值?當我使用此代碼:C#十進制數加倍?

a = (numericUpDown1.Value); 
b = (numericUpDown2.Value); 
m = Math.Pow(a, b); 

我收到以下錯誤:

Severity Code Description Project File Line Suppression State 
Error CS0266 Cannot implicitly convert type 'decimal' to 'double'. An explicit conversion exists (are you missing a cast?) 
+0

你必須投中的值作爲雙爲'Math.Pow()'是雙打期待 - 'Math.Pow( (雙)a,(雙)b)'一個簡單的谷歌搜索將迅速回答這個問題。 –

回答

2

這是因爲Math.Pow只有一個overload - 一個接受2 double秒。既然你想decimal s到工作,你需要在兩個方向上使用顯式強制:

decimal m = (decimal)Math.Pow((double)a, (double)b);