C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢

我看到一般是printf("%nf",a);(其中n、a是实数),此时的n有什么作用,具体怎么用,还望各位细说... 我看到一般是printf("%nf",a);(其中n、a是实数),此时的n有什么作用,具体怎么用,还望各位细说 展开
 我来答
lllllll456
推荐于2019-08-13 · TA获得超过4205个赞
知道答主
回答量:66
采纳率:0%
帮助的人:7.9万
展开全部

我们在输出语句上加如0.就行了,比如printf("%0.2f",a); 就是保留2位.

上代码

#include <stdio.h>

int main()

{

double a = 1.11111111;

printf("%0.Mf",a);   //将M改为你想保留的几位小数

return 0;

}

再上结果图:

扩展资料:

小数在计算机中的存储:

对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用 32bit,double数据占用 64bit.其实不论是float类型还是double类型,在计算机内存中的存储方式都是遵从IEEE的规范的,float 遵从的是IEEE R32.24 ,而double 遵从的是R64.53。   

无论是单精度还是双精度,在内存存储中都分为3个部分:  

1) 符号位(Sign):0代表正,1代表为负;  

2) 指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储; 

3) 尾数部分(Mantissa):尾数部分

问明6E
高粉答主

2019-05-17 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:13万
展开全部

控制小数位数就是通过输出格式说明符来规定的

举例说明如下:

1、float f1=3.1415926;

2、float f2=1234.1415926;

3、float f3=124.1;

4、printf("%3.4f",f1);//输出结果为:_ _ 3.1416(_表示空格)

5、printf("%3.4f",f2);//输出结果为:1234.1416

6、printf("%3.4f",f3);//输出结果为:124.1000

printf("%3.4f",f);中的3是控制f的整数部分按3位的固定位宽输出;4是按四舍五入的准则保留4位小数。

注:如果整数部分不足3位,则在前面补空格,超过3位,则按实际位数输出;如果小数部分不足4,则在后面补0。

扩展资料:

浮点类型

如果存储比精度更重要,请考虑对浮点变量使用float类型。相反,如果精度是最重要的条件,则使用double类型。

浮点变量可以提升为更大基数的类型(从float类型到double类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:

float f_short;double f_long;long double f_longer;f_short=f_short*f_long;

在前面的示例中,变量f_short提升到类型double并且与f_long相乘;然后,结果舍入到类型float,然后赋给f_short。

在以下示例中(使用前面示例中的声明),将以浮点(32位)精度对变量执行算术;结果随后将提升到double类型:

f_longer=f_short*f_short;

double f_long;

long double f_longer;

f_short=f_short*f_long;

在前面的示例中,变量f_short提升到类型double并且与f_long相乘;然后,结果舍入到类型float,然后赋给f_short。

在以下示例中(使用前面示例中的声明),将以浮点(32位)精度对变量执行算术;结果随后将提升到double类型:

f_longer=f_short*f_short;

参考资料:

百度百科——FLOAT(数据类型)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浪尖讨生活9z
高粉答主

推荐于2019-09-19 · 每个回答都超有意思的
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:14.1万
展开全部

%nf 即输出的数字占n位 当原数字位数大于n时原样输出,原数字位数小于n时输出数字左端补上空格,比如原数字为a=1.23456;n为4时输出为1.23456,n为9时输出为(空格空格1.23456)

扩展资料:

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

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

格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

参考资料:printf百度百科

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
映幻路03
推荐于2017-12-16 · TA获得超过348个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:98.7万
展开全部
一。%nf 即输出的数字占n位 当原数字位数大于n时原样输出,原数字位数小于n时输出数字左端补上空格,比如原数字为a=1.23456;n为4时输出为1.23456,n为9时输出为
(空格空格1.23456)
二。%n.mf 即输出总共占n位其中有m位小数 如a=1.23456 用%4.2f输出为1.23如果用
%5,1f输出为123.4即长度为5小数为1!这里也有当原数字长度小于n时左端补空格这个规则!
还有就是当n前面有个负号时即%-nf或%-n.mf时就右端补空格!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4ac90ae
2011-03-04 · TA获得超过205个赞
知道答主
回答量:47
采纳率:0%
帮助的人:24.3万
展开全部
#include<stdio.h>
void main()
{
double x;
x=2.3847434556;
printf("%.1lf\n",x); /*输出时保留一位小数*/
pprintf("%.2lf\n",x); /*输出时保留两位小数*/
rintf("%.3lf\n",x); /*输出时保留三位小数*/
printf("%.4lf\n",x); /*输出时保留四位小数*/
}
以此类推
你说的n指输出的数据共占n列
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式