C Premier Plus读书笔记之关于%2f,%.2f的区别简述

最近偶然翻开CPP的第三章,给出的示例程序如下:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
	float weight;
	float value;

	printf("Are you worth your weight in your platfrom?\n");
	printf("Let's check it out.\n");
	printf("Please enter your weight in pounds:");

	scanf("%f",&weight);
	value = 1700.0 * weight * 14.5833;
	printf("Your weight in platform is worth $%.2f.\n",value);
	//The difference between %2f and %.2f is 
	printf("You are easily worth that!If platform prices drop,\n");
	printf("eat more to maintain your value.\n");

	getchar();
	return 0;
}

 printf("Your weight in platform is worth $%.2f.\n",value);

直接划重点,也就是这一句中的%.2f不太明白具体输出的格式,于是自己在devC上面做了个简单的实验,实验代码如下:

#include <stdio.h>

int main()
{
	float a, b, c, d;
	a = 2.333;
	b = 23.333;
	c = 233.333;
	d = 2333.3333;
	printf("%2f,\n%.2f,\n%6f,\n%.6f,\n%5f,\n%.5f\n", a, a, a, a, a, a);
	printf("%2.3f,\n%2.4f,\n%2.6f\n", a, a, a);
	printf("%2f\n%2.3f\n",c,d);

	getchar();
	return 0;
}

 输出如下:

2.333000,
2.33,
2.333000,
2.333000,
2.333000,
2.33300
2.333,
2.3330,
2.333000
233.332993
2333.333

可以看到,小数点存在的话,左侧的数字限制会被实际数字长度突破,右侧数字限定小数点后的数字位数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值