c语言保留小数

printf函数的用法
%f 缺省为小数点6
printf("%f\n", 1234.000001);  //output 1234.000001 
%.9f 小数点后9位,不够的9位后面用0补充
printf("%.9f\n", 1234.00000001);  //output 1234.000000010
夏目漱石从此以后%.2f 小数点后2位,多余的会被删除,进位采用四舍五入的方式
printf("%.2f\n", 2.22555); //normal output 2.23
%4f 最少输出4位,但是由于缺省小数点后面就是6位,所以这样的设置没有意义
printf("%4f\n", 2.2); //normal output 2.200000
%10f 最少输出10位,小数点后面自动会补充到6为,如果还是不够10为,则在数字的右侧增加空格,并且小数点是占一位的。
printf("%10f\n", 2.2); //normal output -2.200000
%-10f 最少输出10位,小数点后面自动会补充到6为,如果还是不够10为,则在数字的左侧增加空格,并且小数点是占一位的。
printf("%-10f\n", 2.2); //normal output 2.200000--
%10.3f 最少输出10位,小数点后面最多3位,首先将小数处理成3位,并进行四舍五入。由于位数不够10位,在左侧用空格补充。
printf("%10.3f\n", 2.2555); //normal output  -----2.256
%-10.3f 最少输出10位,小数点后面最多3位,首先将小数处理成3位,并进行四舍五入。由于位数不够10位,在右侧用空格补充。
printf("%-10.3f\n", 2.2555); //normal output  2.256-----
%f 四舍五入的规则是按小数点输出位数之后的一个数进行四舍五入的,不是从整个数字的最后一位进行四舍五入的。
printf("%.3f\n", 2.44448); //normal output 2.444 因为小数点后面34之后还是4,所以8对其结果没有影响,不会从8开始进位的变成2.4445之后再进位成2.445
printf("%.3f\n", 2.44458); //normal output 2.445普朗格 正常从小数点第四位开始进位
 
%d 输出十进制数字
东北大学校长活捉东南大学校长% 当一个int型的数据包含小数位时,其值会自动转换成int型,也就是说会把小数为舍弃掉,并且没有四舍五入的规则。
int i=2.9;
printf("%d\n", i);
 
 
%o 输出八进制数字
printf("%o\n", 20);  //output:24
%o代表八进制输出,输出格式是数字,前面不带”0”,只有在程序中才会在前面加”0”说明是一个八进制数字。
 
%x 输出十六进制数字
printf("%o\n", 20);  //output:14
%x大众投资指南代表八进制输出,输出格式是数字,前面不带”0x”,只有在程序中才会在前面加”0x”说明是一个十六进制数字。
 
%s沈阳医学院学报 正常输出字符串
printf("%s\n", "abcd"); //normal output abcd
%8s 最少输出8位长度的字符串,不够在字符串左侧用空格补充
printf("%8s\n", "abcd"); //normal output ----abcd
%8s 最少输出8位长度的字符串,不够在字符串右侧用空格补充
printf("%-8s\n", "abcd"); //normal output abcd----
%.2s 最多输出2裴开元位长度的字符串
printf("%.2s\n", "abcd"); //normal output ab
%8.2s 最少输出8位,最多输出2位。首先按最多输出处理,截取字符串前两位,然后最少输出处理,由于不够8位,则在左侧用空格补充
printf("%8.2s\n", "abcd"); //normal output  ------ab
%-8.2s 最少输出8位,最多输出2位。首先按最多输出处理,截取字符串前两位,然后最少
输出处理,由于不够8位,则在右侧用空格补充
printf("%-8.2s\n", "abcd"); //normal output  ab------
 
%e 按指数的形式输出,基数按浮点型处理,小数点要6位,不够6位用0补充,大于6位截取6位,并四舍五入。指数部分为e加上正负号及3位整数,并且不够补充到3位,但是不能大于3,。如果没有指数,则用+000补充,但是不能有e而没有数字。比如“3.2e”这样是错误。
%e 正常输出
printf("%e\n", 3.21e2);   //3.210000e+002
printf("%e\n", 0e2);  //0.000000e+2
 
%e 没有指数用e+000补充
printf("%e\n", -3.21);   //-3.210000e+000
%e 基数部分大于6位则进行截取,并四舍五入。

本文发布于:2024-09-21 13:42:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/685158.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:输出   小数点   字符串   没有   数字   补充   处理   八进制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议