我们在编程过程中时常会碰到使用printf打印小数但只想显示该小数有有效数字的小数位数,这时使用%f或者%lf打印时往往会出现以下情况:
但是如果我们不想打印39.5之后的0,那么就需要将c语言中printf语句中的%f(表示十进制浮点数)换成%g(用来输出实数,它可以根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。)即可。
效果如图:
同理,类似的格式控制符还有:
- %c:单个字符
- %d:十进制整数(int)
- %ld:十进制整数(long)
- %lf:十进制浮点数(double)
- %o:八进制数
- %s:字符串(char)
- %u:无符号十进制数(DWORD)
- %x:十六进制数(0x00000)