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);

浮点输出 %g

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部