考虑:
double a = 0.0000005l;
char aa[50];
sprintf(aa, "%lf", a);
printf("%s", aa);
Output: s0.000000
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中,变量aa只能包含六位小数.我想获得像"s0.0000005"这样的输出.我该如何实现这一目标?
wha*_*cko 30
从您的问题看来,您似乎正在使用C99,因为您已经使用%lf了双倍.
要实现所需的输出替换:
sprintf(aa, "%lf", a);
Run Code Online (Sandbox Code Playgroud)
同
sprintf(aa, "%0.7f", a);
Run Code Online (Sandbox Code Playgroud)
一般语法"%A.B"意味着在小数点后使用B位.这个意思A更复杂,但可以在这里阅读.
你需要写它 sprintf(aa, "%9.7lf", a)
有关格式代码的更多详细信息,请访问http://en.wikipedia.org/wiki/Printf.
| 归档时间: |
|
| 查看次数: |
92498 次 |
| 最近记录: |