【发布时间】:2015-12-19 06:52:30
【问题描述】:
如何将1.371429 设为01.37。不是%2.02f吗?我需要有一个前导零,并将其四舍五入到小数点后两位。
【问题讨论】:
如何将1.371429 设为01.37。不是%2.02f吗?我需要有一个前导零,并将其四舍五入到小数点后两位。
【问题讨论】:
试试这个:
#include<stdio.h>
int main()
{
double a = 1.2345666;
printf("%05.2lf\n", a);
return 0;
}
这里,05 表示“打印 5 列前导零”。 .2 说“打印十进制数字直到 2 列”。 2 个十进制数字 + 1 . + 2 个整数部分 => 您必须打印总共 5 列。
【讨论】:
lf?, f 就够了。
%lf 中的 l 对于 printf 不是必需的,但对于 scanf 是必需的。使用 printf 时,float 参数被提升为 double。
lf 表示 long double, l 在 C99 中被忽略,但在 C89 中会导致未定义的行为
L("lf 表示 long double")。