Tag: 浮点数精度

printf宽度说明符保持浮点值的精度

是否有一个printf宽度说明符可以应用于浮点说明符,该说明符将自动将输出格式化为必要的有效数字数 ,以便在重新扫描string时获取原始浮点值? 例如,假设我打印一个float到2位小数的精度: float foobar = 0.9375; printf("%.2f", foobar); // prints out 0.94 当我扫描输出0.94 ,我没有符合标准的保证,我会得到原来的0.9375浮点值(在这个例子中,我可能不会)。 我想要一个方法告诉printf自动将浮点值打印到必要的有效位数,以确保可以将其扫描回传递给printf的原始值。 我可以使用float.h一些macros来派生出传递给printf 的最大宽度 ,但是是否已经存在一个说明符来自动打印到必要数量的有效数字 – 或者至less是最大宽度?