显示正确的整数结果
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;
我有一段代码以这种形式显示结果:示例
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;