Search code examples
c++outputsetf

Prevent the zero before the decimal from being displayed in C++


In C++, I'm using the following statements to display output:

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

My output looks like

0.66

How can I prevent the zero before the decimal from being displayed? I want:

.66

Solution

  • 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);
    }