output — предотвращение отображения нуля до десятичной точки в переполнении стека

В C ++ я использую следующие операторы для отображения вывода:

// example
float x = 0.66004;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
cout << x;

Мой вывод выглядит

0.66

Как я могу предотвратить отображение нуля до появления десятичной дроби? Я хочу:

.66

1

Решение

std::string Foo = std::to_string(0.553);
std::size_t it = Foo.find(".");

if (it != std::string::npos)
{
std::cout<<Foo.erase(0, it);
}
0

Другие решения

Одним из возможных решений является преобразование x нанизывать (Больше варианты) и все срезают до десятичной дроби.

0

По вопросам рекламы [email protected]