Console.Write(5/2)和Console.Write(5.0 / 2)有什么区别?

时间:2017-06-11 18:37:44

标签: c# console.writeline

在"挑战"在app sololearn中,回答C#相关的问题,问题是"下面的输出是否相同?"

Console.Write(5 / 2 + 2.5); // 4.5
Console.Write(5.0 / 2 + 2.5); // 5

当我运行它时,确实会得到不同的结果(在代码中显示为注释)。为什么下面的输出不一样?

1 个答案:

答案 0 :(得分:2)

如果:Console.Write(5 / 2 + 2.5); 5/2被认为是整数/整数除法。看看这段代码:

    int i = 5;
    int j = 2;
    Console.WriteLine(i / j);
    //prints 2

如果:Console.Write(5.0 / 2 + 2.5); 5.0 / 2被认为是双/整数除法。相同的代码是:

     double i = 5.0;
     int j = 2;
     Console.WriteLine(i / j);
     //prints 2.5

所以在你的情况下,5/2 + 2.5的结果为2 + 2.5 => 4.5

但是在5.0 / 2 + 2.5中我们得到2.5 + 2.5 => 5