【C语言】如何只打印小数的有效数字位数且不补0

简介: 【C语言】如何只打印小数的有效数字位数且不补0

我们在编程过程中时常会碰到使用printf打印小数但只想显示该小数有有效数字的小数位数,这时使用%f或者%lf打印时往往会出现以下情况:

但是如果我们不想打印39.5之后的0,那么就需要将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)




相关文章
|
2月前
|
机器学习/深度学习 编译器 C语言
【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题
【C语言】数据输出的域宽控制(如何在输出数据时控制0占位)(如何输出前导0)(保留几位小数)(乘法口诀表打印不齐)等问题
28 0
|
7月前
|
C语言
C语言之回文数的求解。回文数一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
C语言之回文数的求解。回文数一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
|
5月前
|
C语言
c语言编程练习题:7-28 求整数的位数及各位数字之和
c语言编程练习题:7-28 求整数的位数及各位数字之和
28 0
|
5月前
|
C语言
C语言十六弹 --求两个整数二进制位不同的位数
C语言十六弹 --求两个整数二进制位不同的位数
|
6月前
|
C语言
C语言每日一题 ---- 打印从1到最大的n位数(Day 1)
C语言每日一题 ---- 打印从1到最大的n位数(Day 1)
40 0
|
10月前
|
C语言
C语言实例:求水仙花数(阿姆斯壮数)和回文数(附带求一串数字的位数方法和每一位数字的计算方法)
C语言实例:求水仙花数(阿姆斯壮数)和回文数(附带求一串数字的位数方法和每一位数字的计算方法)
107 0
|
12月前
|
存储 C语言
C语言-------如何打印保留小数点后1,2,..位
C语言-------如何打印保留小数点后1,2,..位
|
C语言
C语言之浮点数(小数)
C语言之浮点数(小数)
205 0
|
C语言
C语言实现高精度(大位数)阶乘
C语言实现高精度(大位数)阶乘
136 0
|
C语言
C语言实现高精度(大位数)乘法
C语言实现高精度(大位数)乘法
93 0