显示整数的正确结果

时间:2015-02-02 11:46:38

标签: c++ int cout

我有一个以这种形式显示结果的代码: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,但我真的不知道如何设置结果数量从右侧开始,带有一个序列和一个点和零。

3 个答案:

答案 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;