有没有一个 printf
宽度说明符,可以应用到浮点说明符,将自动格式化输出到必要的数字 有效数字,以便当扫描字符串回来,原来的浮点值获得?
例如,假设我将 float
打印到小数位 2
的精度:
float foobar = 0.9375;
printf("%.2f", foobar); // prints out 0.94
当我扫描输出 0.94
时,我没有标准兼容的保证,我将得到原始的 0.9375
浮点值(在这个示例中,我可能不会)。
我想一种方法告诉 printf
自动打印浮点数值的 有效数字的必要数字,以确保它可以被扫描回原来的值传递给 printf
。
我可以使用 float.h
到 导出最大宽度中的一些宏来传递给 printf
,但是是否已经有一个说明符来自动打印到 有效数字的必要数目——或者至少打印到最大宽度?