如何在C++中对齐或填充文本?

如何在C++中对齐或填充文本?,c++,whitespace,pad,C++,Whitespace,Pad,我只是想让我的价格下的文字对齐,我不知道如何做到这一点。我所做的就是在printf语句中添加空格来对齐这个小表,但很明显,当数量超过1位数时,它会偏移到低于价格的文本 在这里,可变价格a double或float可用于在%.2f中插入一个小数位为2的格式模板\t将是制表符缩进。+符号将其与右侧对齐a-将与左侧对齐 这是一本描述一切的书 多亏了M Oehm的帮助,请以预格式化文本而不是图像的形式提供代码和输出。并研究printf格式的宽度说明符。printf的格式、宽度和精度都非常复杂。花点时间研

我只是想让我的价格下的文字对齐,我不知道如何做到这一点。我所做的就是在printf语句中添加空格来对齐这个小表,但很明显,当数量超过1位数时,它会偏移到低于价格的文本

在这里,可变价格a double或float可用于在%.2f中插入一个小数位为2的格式模板\t将是制表符缩进。+符号将其与右侧对齐a-将与左侧对齐

这是一本描述一切的书


多亏了M Oehm

的帮助,请以预格式化文本而不是图像的形式提供代码和输出。并研究printf格式的宽度说明符。printf的格式、宽度和精度都非常复杂。花点时间研究和试验是值得的。我试着帮你,但我的IDE没有粘贴你的代码图像。没有粘贴为text==No help.Hm的代码。根据价格的宽度和当前的tabwidth,这可能会使输出看起来更糟。它也没有对齐小数点。谢谢@MOehmThe\t也不是真正的方法。它与左侧对齐,而不是右侧对齐。它确实需要像%10.2f这样的格式,例如.Hm。加号强制printig在正值前加上加号。%。2具有打印位数的精度,但没有宽度。因此,请删除制表符并使用类似于%10.2f的内容。再次感谢@莫姆
printf("Price:\t%10.2f", price);