就是比较一个int变量和double变量的问题,我的程序如下:
#include <iostream>
using namespace std;
int main( void )
{
int i_var1;
double d_var2;
cout<<"Please input two numbers( The 1st is int, the 2nd is double )"<<endl;
cin>>i_var1>>d_var2;
double d_var_temp = (double)i_var1;
if ( ( d_var2 - d_var_temp ) == 0.0 )
{
cout<<"double number = int number"<<endl;
}
else if ( ( d_var2 - d_var_temp ) >= 1e-06 )
{
cout<<"double number > int number"<<endl;
}
else
{
cout<<"double number < int number"<<endl;
}
return 0;
}
测试了几组数据,发现i_var1 = 1,d_var2 = 1.000001的结果不对,应该是d_var2大,但输出是‘double number < int number’,是怎么回事啊?是程序不对,还是由于精度根本比不出来?
翻翻过去那场雪
牛魔王的故事