C++,用double型变量进行运算,结果应该为0,但是输出是—0.000000,我考虑应该是do

C++,用double型变量进行运算,结果应该为0,但是输出是—0.000000,我考虑应该是double型存储格式的缘故使得实际存储的数据为负的一个极小的数,有什么办法解决吗?

double显示就是带小数的,不会显示0的,自己控制输出格式呀。你的考虑那个叫浮点型的舍入误差
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-30
定义一个极小的量作为阈值,当浮点型减去其强制转换后的整型的绝对值小于这个阈值时,认为浮点型值等于该整型。例:
#define ZERO 1e-12
double example;
if(example-(int)example<ZERO) example=(int)example;
else if(example-(int)example)>1-ZERO) example=(int)example+1;本回答被网友采纳
第2个回答  2016-02-25
强制类型转换为int型