我正在尝试使用以下代码将67.5编写为006750:
float price = 67.5
stringstream symbol;
symbol << setfill('0') << setw(6) << fixed << setprecision(2)
<< noshowpoint << price;
但输出是067.50
最佳答案
你很困惑。 std::noshowpoint
仅消除整数浮点数上的尾随.0
,例如60.0
被输出为60
,它并不能简单地删除所有数字上的点。
要获得所需的内容,可以执行以下操作:
float price = 67.5;
std::stringstream symbol;
symbol << std::setfill('0') << std::setw(6) << int(100 * price);
关于c++ - stringstream noshowpoint不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11586287/