C#十进制加倍?

C# Decimal to double?

为什么我不能将 math.pownumericUpDown 值一起使用?当我使用此代码时:

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?)  

这是因为 Math.Pow 只有一个 overload - 接受两个 double 的那个。由于你想使用 decimals,你需要在两个方向上使用显式转换:

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