Return 没有按预期返回值
Return is not returning values as expected
我正在尝试将可变时间(浮点数)四舍五入到百位。 (0.01, 0.02, ...)
float Time = 0.0;
float Time += 1/frameRate;
return( (round(Time*100)) /100);
这是我的尝试,但我的结果四舍五入到最接近的整数(0.0、1.0、...)
然后我尝试了这个:
float x = round(Time*100);
return(x/100);
它奏效了。我解决了我自己的问题,但我正在努力找出为什么它有效而另一个无效。
所以如果你查看 round documentation,你会发现 round(x)
returns 你是一个整数。
因此,当您编写 round(x)/100
时,您会将 int 除以 100,从而导致意外行为。
但是在 float x = round(y)
中,您明确地将其类型转换为 float,因此除法按预期工作。
我正在尝试将可变时间(浮点数)四舍五入到百位。 (0.01, 0.02, ...)
float Time = 0.0;
float Time += 1/frameRate;
return( (round(Time*100)) /100);
这是我的尝试,但我的结果四舍五入到最接近的整数(0.0、1.0、...)
然后我尝试了这个:
float x = round(Time*100);
return(x/100);
它奏效了。我解决了我自己的问题,但我正在努力找出为什么它有效而另一个无效。
所以如果你查看 round documentation,你会发现 round(x)
returns 你是一个整数。
因此,当您编写 round(x)/100
时,您会将 int 除以 100,从而导致意外行为。
但是在 float x = round(y)
中,您明确地将其类型转换为 float,因此除法按预期工作。