C#十进制加倍?

时间:2016-02-24 22:08:34

标签: c# pow numericupdown

为什么我不能将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?)  

1 个答案:

答案 0 :(得分:3)

这是因为Math.Pow只有一个overload - 一个接受两个double。由于您希望使用decimal s,因此您需要在两个方向上使用显式强制转换:

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