dan*_*jar 2 c++ floating-point casting boolean floating-point-precision
我知道由于精度错误,float应检查一个varibale,使其等于一个总是带有一定容差的值.但是,如果我手动将float变量设置为是0.0f什么情况呢?
例如,有一个返回距离的函数.
float distance()
{
float value;
if(/* ... */)
{
// ...
return value;
}
else return 0.0f;
}
Run Code Online (Sandbox Code Playgroud)
我可以安全地将结果转换为bool吗?
if(distance())
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*nan 10
当你写:
if(distance())
Run Code Online (Sandbox Code Playgroud)
你正在检查浮子是否为零.
你的代码相当于
if(distance() != 0)
Run Code Online (Sandbox Code Playgroud)
这样做非常安全,只有您可以确定它是否具有您需要的含义.
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |