C++中的字符串格式
String format in C++
我想以下面的格式显示字符串输出。
Bill Robinson
Gross Amount: ............ 75.00
Federal Tax: ............. $ 536.25
State Tax: ............... $ 125.13
这是我当前的源代码
< left << setw(width) << setfill ('.') << "Gross Amount : " << showbase << right << setw(currncy) << put_money(grossAmount) <<endl
但是我得到了这个输出
Gross Amount : ..................,344.00
Edaral Tax : ......................1.60
State Tax : .........................04
这样可以吗?
为了防止语言环境出现任何问题,我删除了 put_money
函数。
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using namespace std;
struct data {
data(string _s, float _f) : s(_s), f(_f) {}
string s;
float f;
};
int main() {
const int width = 36;
vector<data> d;
d.push_back(data("Gross Amount: ", 3575.00));
d.push_back(data("Federal Tax: ", 536.25));
d.push_back(data("State Tax: ", 125.13));
cout<<"Bill Robinson"<<endl;
for (data a : d) {
cout << setfill ('.') << a.s << setw(width - a.s.size()) << "$" << setfill (' ') << setw(7) << fixed << setprecision(2) << (a.f) <<endl;
}
}
抱歉原始代码。
我想以下面的格式显示字符串输出。
Bill Robinson
Gross Amount: ............ 75.00
Federal Tax: ............. $ 536.25
State Tax: ............... $ 125.13
这是我当前的源代码
< left << setw(width) << setfill ('.') << "Gross Amount : " << showbase << right << setw(currncy) << put_money(grossAmount) <<endl
但是我得到了这个输出
Gross Amount : ..................,344.00
Edaral Tax : ......................1.60
State Tax : .........................04
这样可以吗?
为了防止语言环境出现任何问题,我删除了 put_money
函数。
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using namespace std;
struct data {
data(string _s, float _f) : s(_s), f(_f) {}
string s;
float f;
};
int main() {
const int width = 36;
vector<data> d;
d.push_back(data("Gross Amount: ", 3575.00));
d.push_back(data("Federal Tax: ", 536.25));
d.push_back(data("State Tax: ", 125.13));
cout<<"Bill Robinson"<<endl;
for (data a : d) {
cout << setfill ('.') << a.s << setw(width - a.s.size()) << "$" << setfill (' ') << setw(7) << fixed << setprecision(2) << (a.f) <<endl;
}
}
抱歉原始代码。