static void Main(string[] args)
{
double expectedValue = 1/2;
if (expectedValue > 0)
{
expectedValue = expectedValue + 0.5;
}
Console.WriteLine(expectedValue);
Console.ReadKey();
}
结果是:0
static void Main(string[] args)
{
double expectedValue = 1.0/2;
if (expectedValue > 0)
{
expectedValue = expectedValue + 0.5;
}
Console.WriteLine(expectedValue);
Console.ReadKey();
}
本文通过两个C#程序实例展示了数值运算中常见的陷阱,包括整数除法的精度损失和浮点数的比较问题。

被折叠的 条评论
为什么被折叠?



