use*_*746 -1 c# sharpdevelop c#-4.0
我是初学者.我刚刚在SharpDevelop上创建了一个小的C#程序,它只计算前几个整数的平方根.这里是:
public static void Main(string[] args)
{
int i;
XXXXX[] t = new XXXXX[40];
for(i=0; i<t.Length; i++)
{
t[i]=Math.Sqrt(i);
}
for(i=0; i<t.Length; i++)
{
Console.WriteLine(""+t[i]);
}
Console.ReadKey(true);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
当我写"double"而不是"XXXXX"时,为什么我的程序工作但是当我写"float"而不是"XXXXX"时它不起作用?
我以为我听到我的老师说浮动和双重是相似的,除了双精度更高.所以我不明白为什么我不能使用float而不是double ...
Math.Sqrt()double当你尝试将它分配给a时返回一个float,你得到一个编译错误.这是因为float精度低于double您可能会丢失细节.
您可以显式转换数字:
t[i]=(float)Math.Sqrt(i);
Run Code Online (Sandbox Code Playgroud)