C# double 没有按预期工作
C# double not working as expected
我知道双精度是小数。
在下面的程序中,输出是 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 d = 19.0 / 18.0;
我知道双精度是小数。 在下面的程序中,输出是 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 d = 19.0 / 18.0;