C语言printf(""),浮点数打印保留有效位数,小数部分的四舍五入
2017-07-13 19:16
3111 查看
1.printf("%3.0f",floatNum):不保留小数
说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽;
注意:这里的3只代表整数部分至少占3位,舍弃小数点和小数点后面的部分
2.printf("%6.2f".floatNum):保留两位小数
说明:%6.2f 表明待打印的数(floatNum)至少占6个字符宽度(包括两位小数和一个小数点),且小数点后面有2位小数,小数点占一位,所以整数部分至少占3位。
注意:这里的6是待打印的数至少占据的字符宽度,包括两位小数(如果小数不够两位用0补位,例如100.1打印出来为100.10)和一个小数点,所以整数部分至少占3个字符宽度。
3.单精度实数的有效位数一般为7位,输出6位小数,超出有效位数输出就是错误的。
4.双精度数有效位数一般为16位,输出6位小数,超出有效位数可能截断或错误值。
5.关于保留小数点后有效位数四舍五入原则
#include<stdio.h>
int main()
{
printf("%f\n", 100.00);
printf("%.0f\n", 100.00);
printf("\n");
printf("%f\n", 100.30);
printf("%.0f\n", 100.30);
printf("\n");
printf("%f\n", 100.50);
printf("%.0f\n", 100.50);
printf("\n");
printf("%f\n", 100.53);
printf("%.1f\n", 100.53);
printf("\n");
printf("%f\n", 100.55);
printf("%.1f\n", 100.55);
printf("\n");
printf("%f\n", 100.56);
printf("%.1f\n", 100.56);
printf("\n");
printf("%f\n", 100.563);
printf("%.2f\n", 100.563);
printf("\n");
printf("%f\n", 100.565);
printf("%.2f\n", 100.565);
printf("\n");
printf("%f\n", 100.566);
printf("%.2f\n", 100.566);
printf("\n");
return 0;
}运行结果:
注意:从图中可以看书,保留0位小数的时候,只要小数点后第一位>=5,就可以进位,但是保留1位或者2位等等,保留小数的后一位要>5才可以进位,否则就舍去。
我是根据运行结果看到,有可以解释下的,请留言,谢谢!
说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽;
注意:这里的3只代表整数部分至少占3位,舍弃小数点和小数点后面的部分
2.printf("%6.2f".floatNum):保留两位小数
说明:%6.2f 表明待打印的数(floatNum)至少占6个字符宽度(包括两位小数和一个小数点),且小数点后面有2位小数,小数点占一位,所以整数部分至少占3位。
注意:这里的6是待打印的数至少占据的字符宽度,包括两位小数(如果小数不够两位用0补位,例如100.1打印出来为100.10)和一个小数点,所以整数部分至少占3个字符宽度。
3.单精度实数的有效位数一般为7位,输出6位小数,超出有效位数输出就是错误的。
4.双精度数有效位数一般为16位,输出6位小数,超出有效位数可能截断或错误值。
5.关于保留小数点后有效位数四舍五入原则
#include<stdio.h>
int main()
{
printf("%f\n", 100.00);
printf("%.0f\n", 100.00);
printf("\n");
printf("%f\n", 100.30);
printf("%.0f\n", 100.30);
printf("\n");
printf("%f\n", 100.50);
printf("%.0f\n", 100.50);
printf("\n");
printf("%f\n", 100.53);
printf("%.1f\n", 100.53);
printf("\n");
printf("%f\n", 100.55);
printf("%.1f\n", 100.55);
printf("\n");
printf("%f\n", 100.56);
printf("%.1f\n", 100.56);
printf("\n");
printf("%f\n", 100.563);
printf("%.2f\n", 100.563);
printf("\n");
printf("%f\n", 100.565);
printf("%.2f\n", 100.565);
printf("\n");
printf("%f\n", 100.566);
printf("%.2f\n", 100.566);
printf("\n");
return 0;
}运行结果:
注意:从图中可以看书,保留0位小数的时候,只要小数点后第一位>=5,就可以进位,但是保留1位或者2位等等,保留小数的后一位要>5才可以进位,否则就舍去。
我是根据运行结果看到,有可以解释下的,请留言,谢谢!
相关文章推荐
- js对浮点数进行四舍五入,按需要保留小数位数
- 一个有关C语言浮点数保留2位小数的操蛋问题
- c++、vc++ 数据精度、小数点取舍、数据四舍五入、保留2位小数、数据之间加入","
- 自己写个类实现对小数的四舍五入,保留相应的位数
- c语言:用%f输出实数,只能得到6位小数及求float型数据的有效位数
- php 小数整理,向上取整,向下去整,四舍五入,丢弃小数部分,保留整数部分
- java中保留任意位数的小数/java中四舍五入/获得任意位数的方法
- php获取随机数 js获取随机数 js四舍五入,保留小数位数
- C语言计算浮点数的小数位数,屏蔽掉了浮点运算的误差
- javascript四舍五入--保留小数位数
- C#优化字符串操作(4)--保留2位有效小数及四舍五入
- JavaScript中浮点数的保留小数位数的问题
- php 小数整理,向上取整,向下去整,四舍五入,丢弃小数部分,保留整数部分
- js 小数四舍五入保留位数
- c#中将一个浮点数保留指定有效位数的方法
- 小数整理,向上取整,向下去整,四舍五入,丢弃小数部分,保留整数部分
- c#中将一个浮点数保留指定有效位数的方法
- java保留小数有效位数
- 总结群里讨论的关于浮点数,如何四舍五入保留两位小数的处理方式
- 【matlab】 关于保留小数位数&有效数字的问题