关于浮点数问题
我自己写的代码:#include <stdio.h>
#define FQ 3.7
#define JL 7
#define XQ 1.3
#define KXC 8
#define YC 2.4
#define YOUCAI 9
#define HG 6.3
#define BLB 0.5
int main()
{
float xm;
float xh;
float xjy;
xm = (2 * FQ +KXC + YOUCAI) * 0.5;
xh = (3 * XQ + 0.5 * YC + 5 * HG) * 0.5;
xjy = (10 * HG + 20 * BLB) * 0.5;
printf("小明需要支付%3.2f元\n",xm);
printf("小红需要支付%2.f元\n", xh);
printf("小甲鱼需要支付%2.f元\n", xjy);
return 0;
}
小甲鱼小的代码:
#include <stdio.h>
#define FANQIE3.7
#define JIELAN7
#define XIQIN 1.3
#define KONGXINCAI 8
#define YANGCONG 2.4
#define YOUCAI9
#define HUANGGUA 6.3
#define BAILUOBO 0.5
int main()
{
float price;
price = (2 * FANQIE + KONGXINCAI + YOUCAI) * 0.5; // 1斤 == 0.5公斤
printf("小明需要支付%.2f元\n", price);
price = (3 * XIQIN + 0.5 * YANGCONG + 5 * HUANGGUA) * 0.5;
printf("小红需要支付%.2f元\n", price);
price = (10 * HUANGGUA + 20 * BAILUOBO) * 0.5;
printf("小甲鱼需要支付%.2f元\n", price);
return 0;
}
为啥小甲鱼写的用%2.f 结果有小数我写的就必须要%3.2f 才有小数?用%2.f打印的结果只有整数
{:10_277:}
{:5_97:}因为小甲鱼写的不是%2.f,而是%.2f。 本帖最后由 qq1242009750 于 2019-1-6 09:08 编辑
%2.3f 前面的2表示输出多少位整数后面的3表示输出多少位小数
而这个占位符表示 输出两位整数,并输出三位小数{:5_102:} 行客 发表于 2019-1-5 20:14
因为小甲鱼写的不是%2.f,而是%.2f。
啊没认真这样写是不是不管多少位的小数都能保留两位打印出来?
wwqq1234054 发表于 2019-1-6 16:53
啊没认真这样写是不是不管多少位的小数都能保留两位打印出来?
是的
页:
[1]