2011-10-02 80 views
3

我有這樣的代碼:操作「^」不能應用於類型的操作數「雙」和「雙師型」

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'這個詞來達到什麼目的? –

回答

26
Math.Pow(previous_val, 1.001); 

將解決您的問題。這是如何使用雙倍權力的方式。

+0

非常感謝!我會在9分鐘內接受。 (它是這麼說的) – Vlad

+0

在.Net中使用權力,現在他可能只是使用'^'來整數,產生意想不到的結果;) – Dykam

8

^是按位運算符XOR。雙重類型沒有意義。

你的意圖是什麼?

+1

那麼你對這個錯誤的解決方案是......? (我猜想將所有內容都轉換爲小數?) – Vlad

+2

告訴我們您的意圖。你以前寫的^ 1.001是什麼意思? –

+0

它的一切都很好,下面的答案解決了我的問題。以前的值是標籤中的當前值。 – Vlad

4

如果您正在尋找提高一個值1到值2

使用的功率:

Math.Pow(Value1,Value2) 

在您的例子:

Math.Pow(previous_val,1.001) 
相關問題