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