C语言printf(““),浮点数打印保留有效位数,小数部分的四舍五入

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才可以进位,否则就舍去。

我是根据运行结果看到,有可以解释下的,请留言,谢谢!
 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值