我在计时器的 CALLBACK 函数中运行以下代码块。
if (start_value <= end_value)
{
start_value += increment_value;
}
else
{
return 0;
}
所有三个变量都定义为 DOUBLE。
Double start_value = 26.0;
Double end_value = 28.0;
increment_value = 0.1;
在将increment_value 与start_value 相加时,变量start_value 的值并不能简单地反映相加的预期结果。比如start_value为26.0,经过一次相加,start_value的值为26.10000000001。后面的 1 会在后面的代码中引起问题,因为当比较的预期结果预期为 TRUE 时,由于后面的 1,它被评估为 false。为什么会发生这种情况?