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
有帮助吗?

解决方案

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

其他提示

One possible solution is converting x to string (more options) and cut off everything before the decimal.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top