flaot、double与零值进行比较

111 阅读1分钟

在C++中,无论是float类型或者是double类型的浮点型变量,都有精度限制。因此不可直接将其与0进行"=="或者"!="比较,应先进行精度范围设置,再将变量与"<="或者">="进行比较。

//const float dErrorRange=1e-6 	//float类型
const double dErrorRange = 1e-15;	//double类型
//假设x为浮点型变量
if (abs(x) <= dErrorRange) 	//进行==比较
if (abs(x) >= dErrorRange) 	//进行!=比较