我正在读一本关于C的旧书(1990),书中有一个数字格式,循环如下:
...
...
printf("%3.1f %15.10f\n",x, x*x+x+1/x);
书上说
%m.kf
将float(或double)类型的值转换为小数点后带m
位数的位置。在玩了这个之后,我仍然完全困惑。
我玩过这个。
http://cstub.com/196059842/
#include <stdio.h>
int main( int argc, const char* argv[] )
{
double f = 1.55568;
printf("%10.12f",f);
}
k
最佳答案
打印精度为1、最小宽度为3个字符的浮点数,例如
printf("%3.1f\n", 3.5);
将输出
3.5
因为它有3个字符
3
.
和5
,但是printf("%10.1f\n", 3.5);
将输出
3.5
_______---
/* ^ 7 spaces because 10 characters width requested */
这将允许您右对齐数字,如
printf("%10.1f\n", 3.5);
printf("%10.1f\n", 121.2);
printf("%10.1f\n", 54.7);
输出
3.5
121.2
54.7
关于c - %3.1f在C中做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28129598/