【发布时间】:2016-01-24 22:10:38
【问题描述】:
我有一个 DisplayResults 方法,当它被调用时,它会将其内容输出到控制台。我很难让它很好地对齐。我已经使用制表符 \t 来对齐它,但它看起来会更好。代码如下:
public static void DisplayResults(string empName, decimal empWeeklySales, decimal COMMISSION_RATE, decimal grossPay,
decimal INCOME_TAX_RATE, decimal incomeTaxPayable, decimal PRSI_RATE, decimal prsiPayable,
decimal RETIREMENT_CONTRIBUTION_RATE, decimal retirementContribution,
decimal totalDeductions, decimal takeHomePay)
{
Console.WriteLine("\n*************** WEEKLY PAYROLL APP ***************\n");
Console.WriteLine("Employee Name: \t\t\t\t{0}\n", empName);
Console.WriteLine("This week's sales: \t\t\t{0:n}", empWeeklySales);
Console.WriteLine("Commission Rate: \t{0:F2}%\n", COMMISSION_RATE);
Console.WriteLine("Gross Pay: \t\t\t\t{0:F2}", grossPay);
Console.WriteLine("Income Tax: \t\t({0:F2}%) \t{1:F2}", INCOME_TAX_RATE, incomeTaxPayable);
Console.WriteLine("PRSI: \t\t\t({0:F2}%) \t{1:F2}", PRSI_RATE, prsiPayable);
Console.WriteLine("Retirement Contribution: ({0:F2}%) \t{1:F2}", RETIREMENT_CONTRIBUTION_RATE, retirementContribution);
Console.WriteLine("Total Deductions: \t\t\t{0:F2}\n", totalDeductions);
Console.WriteLine("Take Home Pay: \t\t\t\t{0:F2}\n", takeHomePay);
Console.WriteLine("\n**************************************************");
}
如您所见,它排列得不是很好。我希望中间的百分比值和右侧的货币值都右对齐。因此,理想情况下,文本将全部左对齐,具有百分比值的中间区域右对齐,右侧的货币值外部区域右对齐。我希望这是有道理的。谁能告诉我如何最好地实现这一目标?谢谢。
【问题讨论】:
-
你可以制作一个 WinForms 应用程序。控制台是您实际上不需要在 UI 上投入任何精力的地方。