Tab*_*lah 1 c floating-point printf
我是新手,我试图float在两边打印最多四个值.例如11.3将0011.3000.为此,我使用以下行: -
float t = 11.3;
printf("%4.4f", t);
Run Code Online (Sandbox Code Playgroud)
但我得到了11.3000.那么,甚至可能我想做什么?如果是,那怎么样?谢谢
f代码片段中的类型不正确,应该是float或double.
要生成前导零,请使用0 printf修改器并指定预期的最小宽度,示例中为9个字符(.加前.4个位置后加4个位置.).
因此格式是%09.4f.
这是代码:
#include <stdio.h>
int main() {
double t = 11.3;
printf("%09.4f\n", t);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
0001.3000
Run Code Online (Sandbox Code Playgroud)
但请注意,如果数字为负数,则在前面只有3个位置.,如果数字的绝对值太大(<= -999.99995或> = 9999.99995),则输出将超过9个字符.如果你的意思是在.负值之前有4个位置,你应该使用% 010.4f:如果是正数,则数字将以空格为前缀,-如果是负数则为前缀:
#include <stdio.h>
int main() {
double t = 11.3;
printf("%09.4f\n", t);
printf("% 010.4f\n", t);
printf("% 010.4f\n", -t);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
0011.3000
0011.3000
-0011.3000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |