尝试将输出对齐到控制台

时间:2015-10-25 21:08:10

标签: c# console alignment

我有一个DisplayResults方法,当它被调用时,它将其内容输出到控制台。我很难让它顺利对齐。我使用了tab \ t来对齐它但它看起来更好。这是代码:

{{1}}

当我输出它时,它看起来像这样: What appears in the console window

正如您所看到的,它并不排队。我希望中间的百分比值和右边的货币值,两者都是右对齐的。因此,理想情况下,文本将全部保持对齐,中间区域的百分比值右对齐,外部区域的货币值右侧对齐。我希望这是有道理的。任何人都可以告诉我如何最好地实现这一目标?谢谢。

1 个答案:

答案 0 :(得分:4)

您可以使用带对齐的字符串格式来创建字符列。当输出控制台使用固定宽度字体时,这是可行的。

例如,您的第一行可以写为

Console.WriteLine("{0,-40}{1,-50}", "Employee Name:", empName);

这将写出“员工姓名”;在左侧对齐的40个字符的列中,用空格填充其余部分以达到40个字符的宽度。然后,具有50个字符宽度的新列将在列的左侧获得对齐的empname

具有所得税税率的行可以写为

Console.WriteLine("{0,-30}{1,10:F2}%{2,50:F2}", 
              "Income Tax:", INCOME_TAX_RATE, incomeTaxPayable);

这会将第一列减少到标签的30个字符,并添加一个10字符的列,该字符将填充右侧对齐的INCOME_TAX_RATE值。当然,这可以在其他行中重复

在MSDN文章Composite Formatting

中对此进行了详细解释