你如何在右侧排列数字?

时间:2013-12-12 22:13:53

标签: c++

似乎setw()使数字在左边排成一行,如:

a    $32
b    $34.3
c    $22.93

但你怎么能这样做:

a       $32
b     $34.3
c    $22.93

1 个答案:

答案 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("");