在c#eror中从Int到double的类型转换

在c#eror中从Int到double的类型转换,c#,C#,我试图将一个int值转换为double来精确计算平均值,但我得到了这个错误 严重性代码说明项目文件行抑制状态 错误CS1525无效的表达式术语“double” 我已经有一段时间没有使用c#了,所以可能是语法错误。但是环顾网络,我没有找到答案 以下是该程序无法编译的代码 static int AvgDigits(int n) { return SumDigits(n) / double(Dignum(n)); } 您应该将double括在paradensis((doub

我试图将一个int值转换为double来精确计算平均值,但我得到了这个错误

严重性代码说明项目文件行抑制状态 错误CS1525无效的表达式术语“double”

我已经有一段时间没有使用c#了,所以可能是语法错误。但是环顾网络,我没有找到答案

以下是该程序无法编译的代码

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

您应该将
double
括在paradensis
((double)(Dignum(n))
中,它将值
Dignum(n)
转换为dobule

return  SumDigits(n) / ((double)(Dignum(n)));
另外,由于您要将其转换为双精度,因此您的返回类型应为双精度

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

据我所知,该函数应命名为static double bla。您知道,当您返回某个内容时,它必须是与函数的输出值兼容的类型。如果没有,JRE会让您知道,在本例中,应该显式地将double截断为int

在 静态int AvgDigits(int n) 它接收一个int并返回一个int。鉴于该操作实际上是一个double,您可以尝试将函数更改为 静态双AvgDigits(int n)


祝你好运!告诉我它是否有效

这是问题之一。我还忘了将函数返回类型从int改为double。谢谢。