c/c++浮点输出时,不显示小数点后没用的0
清泛原创
用%g格式符就可以了。%g用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。即%g是根据结果自动选择科学记数法还是一般的小数记数法。
例如:
float f = 3.14;
printf("%f\n", f);
printf("%g\n", f);
不过要注意,若使用%g输出0.000000001(即浮点数的0,不理解的请参考《浮点数在内存中的表示》)时,它显示的是e-xxx科学计数的形式:
printf("%g\n", 1.4000000001 - 1.4000000002);
printf("%g\n", 1.4000000001 - 1.4000000001);
上一篇:C++对象布局及多态探索之菱形结构虚继承
下一篇:c语言编程中%g是什么格式?