在C ++中,使用cout
可以轻松打印双重类型。
时
double pi = 3.14;
cout << pi;
打印
3.14
但是,在C中,使用printf
,
double pi = 3.14;
printf("%f", pi);
打印
3.14000000.. // maybe format like this.
我可以使用%.2f
打印更漂亮,但是,
pi = 3.141
?
pi = 3.1415
?
代码应更改为%.3f
,%.4f
?
但C ++中的cout
会自动更改此格式,以便打印
3.14
3.141
3.1415
只需使用cout << pi;
所以,我想知道的是我能用C做到这一点吗?不使用cout
。
我必须使用FILE
指针。所以我无法使用cout
。
但是要打印双型漂亮。不喜欢3.1400000 ...太丑了。
不要使用%.2f
,.3f
...
双倍的价值应该是灵活的。
我该怎么做?
答案 0 :(得分:0)
您可以使用%g
中的printf
格式说明符。这是一个简单的程序来演示它:
#include<stdio.h>
int main()
{
double pi=3.14;
printf("%g\n",pi);
pi=3.141;
printf("%g\n",pi);
pi=3.1415;
printf("%g\n",pi);
return 0;
}
输出:
3.14
3.141
3.1415