保持浮点值精度的Printf宽度说明符
有没有printf
宽度说明符,可应用于浮点说明符,该说明符将自动将输出格式化为所需的有效数字这样,当扫描返回字符串时,获取原始浮点值?
例如,假设我打印一个float
精确到2
小数位:
float foobar = 0.9375;printf("%.2f", foobar); // prints out 0.94
当我扫描输出时0.94
,我没有符合标准的保证,我会得到原来的0.9375
浮点值返回(在本例中,我可能不会)。
我想找个方法告诉你printf
将浮点值自动打印到所需的有效数字以确保可以将其扫描回传递给printf
.
我可以使用一些宏float.h
到求出最大宽度传给printf
,但是是否已经有一个说明符可以自动打印到所需的有效数字-或者至少达到最大宽度?