c语言双精度型输出小数位数_C语言的double与float类型最多只能默认输出小数位数都取6位?...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

骑驴客才尽

2014.11.11

00e27ab806e4881f8254fe7ae8741834.png

采纳率:44%    等级:7

已帮助:311人

float为单精度,有效数字为6~7double为双精度,有效数字为15~16但他们在输出时,小数点后都有6位小数。例如3.123456

但是在格式化输出时例外。如:

main()

{

inta=15;

floatb=123.1234567;

doublec=12345678.1234567;

chard='p';

printf("a=%d,%5d,%o,%x

",a,a,a,a);

printf("b=%f,%lf,%5.4lf,%e

",b,b,b,b);

printf("c=%lf,%f,%8.4lf

",c,c,c);

printf("d=%c,%8c

",d,d);

printf("e=%11.2",c);

}

本例第七行中以四种格式输出整型变量a的值,其中“%5d”要求输出宽度为5,而a值为15只有两位故补三个空格。第八行中以四种格式输出实型量b的值。其中“%f”和“%lf”格式的输出相同,说明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。第九行输出双精度实数,“%8.4lf”由于指定精度为4位故截去了超过4位的部分。第十行输出字符量d,其中“%8c”指定输出宽度为8故在输出字符p之前补加7个空格,最后一行输出为12345678.12这时小数点占一位。

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值