C语言如何控制输出数字的有效位数?

不是控制小数点后几位是控制有效位数比如控制5位有效位数,则输出诸如0.12345,1.2345,12.345这样的数... 不是控制小数点后几位
是控制有效位数
比如控制5位有效位数,则输出诸如0.12345, 1.2345, 12.345这样的数
展开
 我来答
风若远去何人留
2015-09-11 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450133
专业C/C++软件开发

向TA提问 私信TA
展开全部
只有浮点型数据,包括float和double有有效位数的说法。
可以用格式化输出函数printf输出数字,同时通过格式化字符串来控制数字有效位数。
printf在输出浮点数时,默认为6位小数,比如定义float f = 1;
调用printf("%f",a);时会输出1.000000。
格式化字符串可以设置成%a.bf的形式,其中:
1 a为输出的数字占据的总宽度(位数),包括整数部分,小数部分和小数点。当实际宽度大于设定宽度时,以实际宽度为准。
2 b为小数位数,也就是输出数字的有效位数。
比如调用printf("5.2f",a);就可以输出
1.00
从而达到控制有效位数的效果。
不不见不念
高粉答主

2018-12-03 · 说的都是干货,快来关注
知道答主
回答量:122
采纳率:0%
帮助的人:1.8万
展开全部

只需要在输出的最后添加上printf函数就可以了:

double 型数据:printf("%.5lf\n",a);

float 型数据: printf("%.5f\n",a);

其中 printf("%n.mlf\n",a); n为一共多少位,m为小数后多少位。

以下是格式:

printf(“格式控制字符串”,输出表列)

格式控制字符串 为 %- 0 m.n l/h 格式字符,% 为格式说明的引导符号,- 为指定左对起输出,0 为 指定空位填0,m.n 指定输出域宽及精度,l/h 输出长度的修正,格式字符为指定输出的数据类型。

扩展资料:

除输出数字的有效位数需要控制,精度也需要控制。

精度格式符以“.”开头,后跟十进制整数。可取值如下:

十进制整数。

(1)对于整型(d,i,o,u,x,X),precision表示输出的最小的数字个数,不足补前导零,超过不截断。

(2)对于浮点型(a, A, e, E, f ),precision表示小数点后数值位数,默认为六位,不足补后置0,超过则截断。

(3)对于类型说明符g或G,表示可输出的最大有效数字。

(4)对于字符串(s),precision表示最大可输出字符数,不足正常输出,超过则截断。
precision不显示指定,则默认为0    

以星号代替数值,类似于width中的*,在输出参数列表中指定精度。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
写在枫叶上的故事
2018-11-30 · TA获得超过2.6万个赞
知道答主
回答量:164
采纳率:0%
帮助的人:2.6万
展开全部

C语言控制输出数字的有效位数可以使用printf()函数格式化输出格式。

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。

其中格式化字符串可以控制输出数字的有效位数,只要将格式化字符串中加入%x.y就可以设置输出的数字的位数了。x指定数据的宽度,即在输出时可以输出的最多数字位数;y指定小数位数,即保留小数点后y位数。

扩展资料

printf()函数的功能及用法:

1、在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。

2、无格式字符复制到输出流。

3、转换规范,每个规范导致在值参数列表中检索 1 个或更多个项。

4、转义序列,用于控制小数点后面的位数。

参考资料来源:百度百科——printf

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者CJ

2012-03-25 · TA获得超过186个赞
知道小有建树答主
回答量:284
采纳率:100%
帮助的人:58.2万
展开全部
printf(“格式控制字符串”,输出表列)
格式控制字符串 为 %- 0 m.n l/h 格式字符
% 为格式说明的引导符号
- 为指定左对起输出
0 为 指定空位填0
m.n 指定输出域宽及精度
l/h 输出长度的修正
格式字符 为指定输出的数据类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jsfjsf25210
2012-03-25 · TA获得超过123个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:138万
展开全部
在用printf输出的时候 使用 例 %5.2f 5位,其中两位小数位,
%-5.2f 左对齐 没有"-“则是右对齐。。等等 。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式