浮点与零比较

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

避免问题-减少小BUG

避免直接与零比较 (特别是经过加减法等运行的)如 x == 0;

让浮点在一个近似零范围内去,与零比较 如 x>0.001 || x<-0.001;

原因

    因为在计算机中浮点数是不确定的,有些小数在二进制中表示是无穷的。

例如:0.1f

二进制表示为0.0001100110011001100110011001100110011001100110011001…..

后面表示全部都是(1001)的循环

如何表示浮点等于零? 

FMath::IsNearlyZero

这个:表示靠近零,的精确度是多少?返回一个bool

实例 

if (!FMath::IsNearlyZero(TotalPower,0.001f))
{
    //当获得的电量不等于零的时候,那么更新电量
	UpdatePower(TotalPower);
}

 

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看