2013-10-06 3 views
1

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

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

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

0.66 

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

.66 

ответ

0
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

Спасибо! Я не думал об использовании строки. Думал, что для этого может быть какой-то модификатор setf. – Elliott

0

Одним из возможных решений является преобразование x в строку (more опций) и отрезать все до запятой.

Смежные вопросы