似乎setw()使数字在左边排成一行,如:
a $32
b $34.3
c $22.93
但你怎么能这样做:
a $32
b $34.3
c $22.93
答案 0 :(得分:6)
像这样使用“std :: right”:
std::cout << std::right << std::setw(10) << x << std::endl;
要处理多个输出,你可以像这样使用stringstream:
#include <iostream>
#include <iomanip>
#include <sstream>
using namespace std;
char someChar = 'a';
double cost = 0;
stringstream ss;
ss << "$" << cost;
std::cout << someChar << std::right << std::setw(10) << ss.str() << std::endl;
// This line to clear the stringstream
ss.str("");