C# 十进制到双精度?
为什么我不能将C# 十进制到双精度?,c#,pow,numericupdown,C#,Pow,Numericupdown,为什么我不能将math.pow与numericUpDown值一起使用?当我使用此代码时: 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
math.pow
与numericUpDown
值一起使用?当我使用此代码时:
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
只有一个-接受两个double
s的一个。由于要使用decimal
s,因此需要在两个方向上使用显式强制转换:
decimal m = (decimal)Math.Pow((double)a, (double)b);
这是因为
Math.Pow
只有一个-接受两个double
s的一个。由于要使用decimal
s,因此需要在两个方向上使用显式强制转换:
decimal m = (decimal)Math.Pow((double)a, (double)b);
您必须将值转换为double as
Math.Pow()
预期为double-Math.Pow((double)a,(double)b)
一个简单的谷歌搜索会很快回答这个问题。您必须将值转换为double asMath.Pow()
预期为double-Math.Pow((double)a,(double)b)
一个简单的谷歌搜索很快就能回答这个问题。