printf(),sprintf() 与 %f

关于 %f 格式化输出,网上 大部分资料讲解都很模糊。这里总结一下!

问题1. %m.nf是什么意思?
最笼统的回答是:总共输出 m 位,其中小数占 n 位,右对齐,总计不足 m 位则左端补空格。

问题2. m 位包含小数点么?
答:包含。C语言中,数据输出宽度包括小数点。

问题3. %f 如何实现左对齐?
答:使用 %-f。

问题4. 如果不足 m 位,如何实现补零或补其他内容?
答:可以使用 %0m.nf 格式,如果想要补其他内容,则将其他内容代替上述格式中的“0”。

问题5. 我想强制 %f 输出正负号该如何实现?
答:使用 %+f 可强制输出正负号。

问题6. 我用 %6.2f 输出 float a=123.45 为什么得到的是 “123.45”而不是“_123.45”(其中“_”表示空格)?不是右对齐么?不是左端补空格么?
答:那是因为你没有把小数点计算在内。如果将小数点计算在内 “_123.45”一共是 7 位。所以,想要按这种格式输出,应当使用 %7.2f。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lionchan187

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值