Как сузить представление плавания, когда это возможно?C++

Программы на C++. Форум разработчиков
Anonymous
Как сузить представление плавания, когда это возможно?

Сообщение Anonymous »

Я изучаю std :: format , пытаясь сделать короткую std :: string представление переменной с плавающей запятой.
Моя проблема в том, что я могу ' 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]

Вернуться в «C++»