C#double没有按预期工作

我知道double是小数。 在下面的程序中输出为1,即使我认为它将重复1.05。

static void Main (string[] args) { double d = 19 / 18; Console.WriteLine(d); Console.ReadKey(); } 

我误会加倍吗?

你误解了整数数学。

 Integer-19 / Integer-18 results in an Integer with value 1. 

(您将值分配给double是不相关的。计算结果为整数)。

要修复它,请使用:

 double d = 19.0 / 18.0;