gpt4 book ai didi

c++ - 将值为 0.0f 的 float 转换为 boolean 值是否安全?

转载 作者:太空狗 更新时间:2023-10-29 23:24:49 30 4
gpt4 key购买 nike

我知道,由于精度误差,float 变量应该总是有一定公差来检查是否等于一个值。但是,如果我手动将 float 变量设置为 0.0f 会怎样呢?

例如,有一个返回距离的函数。

float distance()
{
float value;
if(/* ... */)
{
// ...
return value;
}
else return 0.0f;
}

我可以将结果安全地转换为 bool 吗?

if(distance())
{
// ...
}

最佳答案

当你写的时候:

if(distance())

您正在检查 float 是否为零。

你的代码等同于

if(distance() != 0)

这样做是绝对安全的,只有您才能确定它是否具有您需要的含义。

关于c++ - 将值为 0.0f 的 float 转换为 boolean 值是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482715/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com