如何在 C# 中将 int 转换为浮点型



我想写这个等式:

1+(2/n!)+(3/n!)+...+(n/n!),

但结果始终等于 1。错误的代码在哪里?我的代码:

Console.Write("Please Enter Your Number: ");
int num = int.Parse(Console.ReadLine());
int fact = 1;
for (int i = num; i > 1; i--)
{
    fact *= i;
}
Console.WriteLine("Fact= " + fact);
float result = 1;
for (int i = 2; i >= num; i++)
{
    result += (i / fact);
}
Console.WriteLine("Result= " + result);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();

因为这不会循环

for (int i = 2; i >= num; i++)

如果您在调试中跟踪了它,那将是显而易见

<=

在牵连演员身上,这个(i / fact)很可能是在演员之前进行的,所以演员的事实浮出水面。 (浮动)事实。

您没有整数/十进制

您可以使用十进制而不是浮点数

最新更新