但是 我上面 那段 代码 是用double 但是 为什么 输出的 还是保留六位的?
不关是 用float 还是double? 都是默认输出 6位的? 请问 要怎么 控制?
追答嗯,都是6位输出。比如说只要输出小数点后面的4位小数
double d = 1.23456789;
printf("%.4lf\n",d);
但是 我上面 那段 代码 是用double 但是 为什么 输出的 还是保留六位的? 我用的是vc++
追答默认6位,不过可以通过程序控制为想要的位数;如:
printf("%12.15lf\n",x);表示输出占12格的小数位数为15为的x的值;
printf("%.8lf\n",x);表示输出小数位数为8为的x的值。
#include
#include
int main()
{
double a,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%lf\tb=%lf\tc=%lf\n",a,b,c);
printf("area=%lf\n",area);
return 0;
}
我这段代码 他输出的, 小数后面也是6位. 我用的是double