这是一个非常简单的C问题。简单的C数字格式化
有没有办法为printf格式化浮点数,使其具有xx重要的小数?
所以我不是在谈论,说,%5.3f
浮动,但如果我
float x=0.00001899383
我怎么会输出0.0000189,如果我想高达前三非零小数?
这是一个非常简单的C问题。简单的C数字格式化
有没有办法为printf格式化浮点数,使其具有xx重要的小数?
所以我不是在谈论,说,%5.3f
浮动,但如果我
float x=0.00001899383
我怎么会输出0.0000189,如果我想高达前三非零小数?
“%.3g”会尝试输出三位有效数字,无论是科学还是固定格式。
在BJG:
程序
#include <stdio.h>
int main()
{
double a = 123456789e-15;
int i = 0;
for(i=-10; i <= 10; ++i)
{
printf("%.3g\n", a);
a *= 10;
}
return 0;
}
输出
1.23e-07
1.23e-06
1.23e-05
0.00
0.0
0.
0.123
1.23
12.3
123
1.23e+03
1.23e+04
1.23e+05
1.23e+06
1.23e+07
1.23e+08
1.23e+09
1.23e+10
1.23e+11
1.23e+12
1.23e+13
需要注意的是你的榜样号码3个显著数字为0.0000190 – caf 2010-07-19 00:37:55