Как сузить представление плавания, когда это возможно?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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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