十进制数输出
用C++编程的时候,如果输出的数字太大,系统默认按科学计数法输出结果,这样的显示不是很直观,所以我们要改成平常用的十进制。
只需要在输出结果前面加上:
cout.setf(ios_base::fixed,ios_base::floatfield);
或者
cout.setf(ios::fixed,ios::floatfield);
如果上面的不行就改成下面的,按道理应该是下面的那一句通用一点。
保留小数点位数
还有保留小数点位数:
cout.precision(2);//保留小数点后2位
2代表保留的小数点位数,这种情况适用于人民币,保留到分
代码示例
#include <iostream>
#include <stdlib.h>
using namespace std;
class Bank
{
private:
char name[20];
char accnum[10];
long double save;
public:
Bank();
void show1();//显示姓名、账号、存款
void saving();//存入
void output();//取出
void show2();
};
Bank::Bank()
{
save = 0.00;
}
void Bank::saving()
{
long double save_money;
cout << "\t\t\t\t\t请输入存款金额:";
cin >> save_money;
save += save_money;
}
void Bank::output()
{
long double output_money;
cout << "\t\t\t\t\t请输入取款金额:";
cin >> output_money;
save -= output_money;
}
void Bank::show1()
{
//Bank a;
cout << "\nt\t\t\t尊敬的客户你好!你正在在使用中国银行进行存蓄服务!\n\n";
cout << "\t\t\t\t\t请输入用户名:";
cin >> name;
cout << "\t\t\t\t\t请输入用户账号:";
cin >> accnum;
}
void Bank::show2()
{
cout << "\t\t\t\t\t当前账户余额为:" << save << "元." << endl;
}
int main()
{
cout.setf(ios::fixed,ios::floatfield);//十进制计数法,不是科学计数法
cout.precision(2);//保留2位小数
int option;
Bank customer1;
customer1.show1();//显示用户名和账户
customer1.show2();//显示余额
while(true)
{
cout << "\t\t\t\t\t请选择你所需要的服务:\n" << "\t\t\t\t\t1、存款\t2、取款\t3、退出\n\t\t\t\t\t";
cin >> option;
switch (option)
{
case 1:
customer1.saving();
customer1.show2();
break;
case 2:
customer1.output();
customer1.show2();
break;
case 3:
customer1.show1();//退出,回到初始界面
customer1.show2();
break;
default:
cout << "\t\t\t\t\t你输入的选项不合法,请重新再输!\n";
break;
}
}
system("pause");
return 0;
}
【显示结果】