double angle = .50, stop = .59;
Console.WriteLine(" Angle Sine Cosine");
while (angle <= stop)
{
CalculateSineAndCosine(angle, out sine, out cosine);
Console.WriteLine($"{angle,6:F}{sine,10:F4}{cosine,9:F4}");
angle += .01;
}
最后一个循环仅达到0.58,而不是0.59。无法理解发生了什么。请帮忙。附言如果止损= 0.60,它将达到0.59。但这发生在我仍然使用<= not <
时这可能是由于具有双值的近似性质。 double类型是不精确的浮点值。 0.01的两倍可能略大于0.01。 There is an excellent explanation here。