操作“^”不能应用于类型的操作数“双”和“双师型”

问题描述:

我有这样的代码:操作“^”不能应用于类型的操作数“双”和“双师型”

private void t_Tick(object source, EventArgs e) 
    { 
     double anInteger; 
     anInteger = Convert.ToDouble(label1.Text); 
     anInteger = double.Parse(label1.Text); 
     double val1; 
     double val2; 
     double answer; 
     double previous_val; 
     previous_val = Convert.ToDouble(label1.Text); 
     previous_val = double.Parse(label1.Text); 
     val1 = anInteger; 
     val2 = ((((((previous_val^1.001))/24) - ((previous_val/24)/60))/10)); 
     answer = val1 + val2; 


     label1.Text = answer.ToString(); 
    } 

我收到错误“操作‘^’不能应用于类型的操作数'双'和'双'“在线:

val2 = ((((((previous_val^1.001))/24) - ((previous_val/24)/60))/10)); 

有没有人有任何解决方案?

+0

作为铝说,你在做什么品牌没有意义。你想用'previous_val^1.001'这个词来达到什么目的? –

Math.Pow(previous_val, 1.001); 

将解决您的问题。这是如何使用双倍权力的方式。

+0

非常感谢!我会在9分钟内接受。 (它是这么说的) – Vlad

+0

在.Net中使用权力,现在他可能只是使用'^'来整数,产生意想不到的结果;) – Dykam

^是按位运算符XOR。双重类型没有意义。

你的意图是什么?

+1

那么你对这个错误的解决方案是......? (我猜想将所有内容都转换为小数?) – Vlad

+2

告诉我们您的意图。你以前写的^ 1.001是什么意思? –

+0

它的一切都很好,下面的答案解决了我的问题。以前的值是标签中的当前值。 – Vlad

如果您正在寻找提高一个值1到值2

使用的功率:

Math.Pow(Value1,Value2) 

在您的例子:

Math.Pow(previous_val,1.001)