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