我有一个以这种形式显示结果的代码:example
Amount: 10
Total Amount: 200
Tax: 30
Net Balance: 2000
并且我希望显示结果,例如数学类型从右侧开始,小数点后面有2个零(00)。实施例
Amount: 10.00
Total Amount: 200.00
Tax: 30.00
Net Balance: 2000.00
我正在使用双重int,但我真的不知道如何设置结果数量从右侧开始,带有一个序列和一个点和零。
答案 0 :(得分:4)
您可以合并<iomanip>
的一些设置:
std::cout << std::fixed; // formatting floating-point numbers
std::cout << std::setprecision(2); // number of floating-point digits
std::cout << std::setw(10); // width of the whole output string
std::cout << std::right; // padding to the right
答案 1 :(得分:3)
只需使用
double v = 123.45;
printf("%5.2f",v);
指定宽度(在我的情况下为5)和所需的精度(2)。
编辑:字段数指定为宽度,精度部分中的位数应在.
中的printf()
之后提及。看看下面的输出。
double v = 123456.45;
printf("%3.2f\n",v);
printf("%10.2f\n",v);
printf("%11.2f\n",v);
printf("%12.2f\n",v);
输出:
123456.45
123456.45
123456.45
123456.45
答案 2 :(得分:0)
你需要做这样的事情:
std::cout.precision(2);
std::cout << "Tax: " << std::setw(8) << std::fixed << float(30) << std::endl;
std::cout << "Net balance: "<< std::setw(8) << std::fixed << float(2000) << std::endl;