显示正确的整数结果

Display proper result of integers

我有一段代码以这种形式显示结果:示例

  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

我正在为此使用 double int,但我真的不知道如何设置从右侧开始的结果量,其中包含一个序列以及一个点和零。

只需使用

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

您可以组合 <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

你需要做这样的事情:

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;