Моя проблема в том, что я могу ' T Установите ширину, так как я не знаю, сколько цифр до десятичной точки. Если я установите точность, он печатает нули, даже если они являются единственными цифровыми цифрами.
Я думаю, это может быть как -то Путь. Если не строка должна принимать минимальные возможные цифры, предпочитая «100» «1E2» или «1000» до 1E03 »или« 0,01 »,« 1E-2 », и т. Д. < /p>
Может ли это быть достигнуто с помощью формата std :: (или любого другого вида форматирования STD) без ручного преобразования каждой цифры с Float?
Код: Выделить всё
#include
std::string to_string_shortest(float v, [[maybe_unused]] std::size_t fit_to = 4) {
return std::format("{}", v);
}
int main()
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79312063/how-to-narrow-string-representation-of-float-when-possible[/url]
Мобильная версия