gpt4 book ai didi

c++ - 如何在保持显示位数的同时向左移动小数点?

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:24 27 4
gpt4 key购买 nike

我目前有一个函数接受结构 vector ,包括所有 float ,并且应该在简单计算后返回一些值。

我的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 : $450000
Tax Payer #1 : $210000

也就是说,我希望它成为

Tax Payer #0 : $4500.00
Tax Payer #1 : $2100.00

我一直在摆弄 setw() 和 setprecision() 但我并不完全理解它们是如何工作的。

最佳答案

std::setw ,实际上与值精度无关,它用于填充带有前缀的字符串,例如:001-0123-9124 (用 0 填充)

示例: std::cout << std::setfill('0') << std::setw(5) << 5 << std::endl;将打印00005

以下是如何使用 std::fixed 来使用它和 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问题以了解有关为值指定固定精度的更多信息...

关于c++ - 如何在保持显示位数的同时向左移动小数点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54489575/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com