如何在保持显示位数的同时向左移动小数点?
How do I move a decimal point left while maintaining number of digits displayed?
我目前有一个函数接受结构向量,包括所有浮点数,并且应该 return 经过简单计算后的一些值。
我的cout函数很简单
void taxPrint(std::vector<TaxPayer> &citizen)
{
int loops = 0;
std::cout << "\nTaxes due for this year: \n" << std::endl;
do
{
std::cout << "Tax Payer #" << loops << " : $" << citizen[loops].taxes << std::endl;
loops++;
}
while (loops + 1 <= SIZE);
控制台中的结果输出是
Tax Payer #0 : 0000
Tax Payer #1 : 0000
也就是说,我希望它是
Tax Payer #0 : 00.00
Tax Payer #1 : 00.00
我一直在摆弄 setw() 和 setprecision() 但我并不完全理解它们是如何工作的。
std::setw
,实际上与值精度没有任何关系,它用于填充带有前缀的字符串,例如:001-0123-9124
(用0
填充)
示例: std::cout << std::setfill('0') << std::setw(5) << 5 << std::endl;
将打印 00005
这里是如何使用它 std::fixed
and std::setprecision
:
void taxPrint(std::vector<TaxPayer> &citizen)
{
int loops = 0;
std::cout << "\nTaxes due for this year: \n" << std::endl;
do
{
std::cout << "Tax Payer #" << loops << " : $" << std::setprecision(2)
<< std::fixed << citizen[loops].taxes / 100. << std::endl;
loops++;
}
while (loops + 1 <= SIZE);
} // Don't miss this bracket!
此外,请查看 this 问题以了解有关为值指定固定精度的更多信息...
我目前有一个函数接受结构向量,包括所有浮点数,并且应该 return 经过简单计算后的一些值。
我的cout函数很简单
void taxPrint(std::vector<TaxPayer> &citizen)
{
int loops = 0;
std::cout << "\nTaxes due for this year: \n" << std::endl;
do
{
std::cout << "Tax Payer #" << loops << " : $" << citizen[loops].taxes << std::endl;
loops++;
}
while (loops + 1 <= SIZE);
控制台中的结果输出是
Tax Payer #0 : 0000
Tax Payer #1 : 0000
也就是说,我希望它是
Tax Payer #0 : 00.00
Tax Payer #1 : 00.00
我一直在摆弄 setw() 和 setprecision() 但我并不完全理解它们是如何工作的。
std::setw
,实际上与值精度没有任何关系,它用于填充带有前缀的字符串,例如:001-0123-9124
(用0
填充)
示例: std::cout << std::setfill('0') << std::setw(5) << 5 << std::endl;
将打印 00005
这里是如何使用它 std::fixed
and std::setprecision
:
void taxPrint(std::vector<TaxPayer> &citizen)
{
int loops = 0;
std::cout << "\nTaxes due for this year: \n" << std::endl;
do
{
std::cout << "Tax Payer #" << loops << " : $" << std::setprecision(2)
<< std::fixed << citizen[loops].taxes / 100. << std::endl;
loops++;
}
while (loops + 1 <= SIZE);
} // Don't miss this bracket!
此外,请查看 this 问题以了解有关为值指定固定精度的更多信息...