这是我的代码,(GUI应用程序):
const double TIPSTEP = 0.05;
double dinnerPrice = 10.00;
double tipRate;
double tip;
double lowRate, maxRate, minDinner, maxDinner;
lowRate = Convert.ToDouble(txtLowTip.Text);
maxRate = Convert.ToDouble(txtHighTip.Text);
minDinner = Convert.ToDouble(txtLowDinner.Text);
maxDinner = Convert.ToDouble(txtHighDinner.Text);
lblOutput.Text = " Price";
for (tipRate = lowRate; tipRate <= maxRate; tipRate += TIPSTEP)
lblOutput.Text += String.Format("{0, 8}", tipRate.ToString("F"));
lblOutput.Text += "\n-----------------------------------------------------------------\n";
tipRate = lowRate;
while (dinnerPrice <= maxDinner)
{
lblOutput.Text += String.Format("{0, 8}", dinnerPrice.ToString("C"));
while (tipRate <= maxRate)
{
tip = dinnerPrice * tipRate;
lblOutput.Text += String.Format("{0, 8}", tip.ToString("F"));
tipRate += 0.05;
}
dinnerPrice += minDinner;
tipRate = lowRate;
lblOutput.Text += "\n";
}
我认为我做得对。我首先把它写成一个控制台应用程序,它排列完好。这次数字不应该像他们应该的那样对齐,有什么建议吗?
答案 0 :(得分:1)
我首先将其作为控制台应用程序编写,并且排列完美。
控制台窗口使用固定宽度字体。
当您切换到Windows GUI应用程序时,您现在拥有可变宽度字体。 'M'比'i'宽得多。
您可以将标签的字体设置为Courier或其他固定宽度的字体。