wnlt.net
当前位置:首页 >> C语言DouBlE类型输出 >>

C语言DouBlE类型输出

因为你指定的输出格式不对,printf()函数有个不成文的规定,使用%f对实数只输出小数点后6位的数字(不是有效数字,强制只输出小数点后6位),所以输出双精度型必须明确指定输出小数点后位数,要求使用%.nf格式n为小数点后数位! %lf格式定义的是scanf()函数的格式输入,不是输出. 输入和输出是2个不同的概念,请楼主仔细参考C库函数手册.

对于double类型变量,其输出时的格式说明符一般用 %lf 因为double型是双精度浮点型,所以用long float型的格式输出符 %lf 而对于单精度浮点型float, 其输出格式说明符一般用%f 比如:double a = 3.1323; float b = 0.234; printf("%lf\n", a); // 输出结果为3.1323 printf("%f\n", b); // 输出结果为0.234

输出int , 用%d输出float, 用%f输出double,用 %lf输出long int ,用%ld

VC2008中的float.h头文件中的宏定义: #define DBL_MAX 1.7976931348623158e+308 /* max value */

调用float.h FLT_MAX float最大长度 DBL_MAX double最大长度 LDBL_MAX long double最大长度

你理解错咯 double的意思是可以有16位有效数字 而在固定格式输出的时候,都默认的是6位 用double的时候f前面加l是没有效果的 你要输出长度,可以写,%0.8f,这样就是输出8个有效数字了

在C语言中,打印double类型需要使用格式化输出函数printf.在使用是,double的通配符为%lf.比如定义double a = 1.234; 可以用 printf("%lf", a); 实现打印.默认打印6位小数,可以通过 printf("%.xlf",a); 来控制小数位数. 其中x为常数,代表打印的小数位数.除此外,还可以用 printf("%e", a); 实现以科学计数法来输出a.如果不想自行选择科学计数法还是正常小数输出,可以由系统自行选择最短情况,只能控制,只需要 printf("%g", a);

%d输出的是整数 试试%lf

#include<stdio.h>头文件你输入输出头文件都没.scanf("%lf",&a);因为你是双精度.

1、%f 是输出 float 型变量;%f 是输出 double 型变量;%Lf 是输出 long double 型变量.2、在C语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf, sprintf, fprintf等.这类函数输出时要求有格式符号,其中long double的格式

网站首页 | 网站地图
All rights reserved Powered by www.wnlt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com