Спецификатор ширины Printf для поддержания точности значения с плавающей точкой
Есть лиprintf
спецификатор ширины, который может быть применен к спецификатору с плавающей запятой, который автоматически форматирует выходные данные до необходимого числазначащие цифры такой, что при сканировании строки обратно, получается оригинальное значение с плавающей точкой?
Например, предположим, что я печатаюfloat
с точностью до2
десятичные разряды:
float foobar = 0.9375;
printf("%.2f", foobar); // prints out 0.94
Когда я сканирую вывод0.94
У меня нет никаких гарантий соответствия стандартамдостану оригинал0.9375
значение с плавающей запятой назад (в этом примере я, вероятно, выиграл 'т).
Я хотел бы, чтобы способ сказатьprintf
автоматически печатать значение с плавающей точкой на необходимое числозначащие цифры чтобы убедиться, что он может быть отсканирован до исходного значения, переданного.printf
Я мог бы использовать некоторые макросы вfloat.h
ввывести максимальную ширину перейти кprintf
, но есть ли уже спецификатор для автоматической печати на необходимое количествозначащие цифры - или хотя бы до максимальной ширины?