Я хотел заменить реализацию:
float value = 3.14;
printf("%g", value);
(См. Как работает% g в printf для объяснения %g
, если требуется).
Но я не нашел эквивалента в потоковых манипуляторах, только для фиксированных или научных, но не самый короткий из них (https://en.cppreference.com/w/cpp/io/manip/fixed). Существует ли это или существует "простой" способ реализовать это?
Некоторые примеры из связанного вопроса SO:
- 544666.678 записывается как 544667, если используется
%.6g
, - То же число записывается как 5.4467E + 5.когда используется
%.5g
.