我们时常会碰到使用printf打印小数但只想显示该小数有有效数字的小数位数,这时使用float或者double类型打印时往往会出现以下情况:
但是如果我们不想打印39.5之后的小数,那么就需要将c语言中printf语句中的%f(表示十进制浮点数)换成%g(用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。)即可。效果如图:
同理,类似的还有:
1、%c:单个字符
2、%d:十进制整数(int)
3、%ld:十进制整数(long)
4、%lf:十进制浮点数(double)
5、%o:八进制数
6、%s:字符串(char)
7、%u:无符号十进制数(DWORD)
8、%x:十六进制数(0x00000)
以上就是有关该问题的解决方法,如果还想了解更多的有关C语言printf()函数的输入输出问题可以移步我最新的一篇文章,有关printf()函数的一切都在里面了:【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题_修修修也的博客-CSDN博客【