c/c++浮点输出时,不显示小数点后没用的0

来源:清泛原创     2016-08-01 15:36:40    人气:     我有话说( 0 人参与)

清泛网(www.tsingfun.com):用%g格式符就可以了。%g用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。即%g是

用%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

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)