C语言里怎么输出6位以上的小数。

来源:百度知道 编辑:UC知道 时间:2024/07/04 05:55:57
计算圆周率,用%f,%e结果只有3.141593。想得到更精确的,该怎么做?

1、C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数。比如这样的代码:
double a = 1;
printf("%lf\n", a);
输出会是
1.000000

2、但是有时六位会显得很长,没必要。比如计算平均分,一到两位小数就足够了。可是有时六位又不够,需要更多位小数,比如计算高精度平方根。这时可以用printf的格式控制。如果要输出n位小数,那么可以用%.nlf的格式。其中n为数字。
如要输出10位小数,那么
printf("%.10lf\n", a);
即可。

比如想输出10位小数,用%.10f,20位的话%.20f,如此类推。