2017-09-16 33 views
1

我想輸入一個int值到雙精確計算平均值,但我得到這個錯誤。類型鑄造從Int到雙重在c#eror

嚴重性代碼說明項目文件的線路抑制狀態 錯誤CS1525無效表達術語「雙師型」

我have'nt用C#的一段時間,所以這是可能的,我錯了語法明智的。但環顧網絡,我找不到答案。

下面是編譯好的代碼。

static int AvgDigits(int n) 
{   
    return SumDigits(n)/double(Dignum(n)); 
} 

回答

2

你應該附上double到paranthesis ((double)(Dignum(n)))這將鑄就價值Dignum(n)到dobule

return SumDigits(n)/((double)(Dignum(n))); 

也因爲你是鑄造它的兩倍,你的返回類型應該是雙,

static double AvgDigits(int n) 
{   
    return SumDigits(n)/((double)(Dignum(n))); 
} 
+1

這是問題之一。我也忘了將函數返回類型從int更改爲double。非常感謝。 – hjsv41

+0

酷!更新它,以便它有用 – Sajeetharan

+0

@ hjsv41標記答案,如果它有幫助 – Sajeetharan

0

直到我知道這個函數應該被命名爲static double blablabla。你看,當你返回一些東西時,它必須是一個兼容函數輸出值的類型。如果不是的話,JRE會讓你知道,在這種情況下,對int進行加倍的願望應該明確地被剔除。

In static int AvgDigits(int n) 它接收一個int並返回一個int。眼看作爲操作實際上是一個雙,你可以嘗試改變功能 靜態雙AvgDigits(INT N)

祝你好運!告訴我它是否有效!