#include <iostream.h>
#include <math.h>
int main(void)
{
float a,b,c;long double d;
a=0.111111111111111;
d=0.111111111111111;
cout<<a<<endl;
cout<<d<<endl;
//cout<<sqrt(0.3);
return 1;
}
结果为什么都是:0.111111
这里我想过了,可能是cout的<<重载运算符的操作数只能精确到float类型。
#include <iostream.h>
#include <math.h>
#include <stdio.h>
int main(void)
{
float a;long double d;
a=0.111111111111111;
d=0.111111111111111;
cout<<a<<endl;
cout<<d<<endl;
printf("%20.20f,%.20f\n",a,d);
//cout<<sqrt(0.3);
return 1;
}
看了这个代码就知道了。