0

我正在尝试编写一个使用后条件循环的程序。该循环正在计算摄氏度到华氏度的转换。我把方程写下来了,但我无法得到我需要的输出。我需要将两个温度输出到同一个标签,同时将 C 和 F 温度保持在它们自己有组织的列中。这是一个链接,显示了我正在尝试做的事情:

在此处输入图像描述

之后,我需要右对齐表格,同时将 C 临时数据保存在同一个地方。我不知道如何做这些,显然在谷歌上搜索了 2 个半小时后,谷歌似乎也不知道。我是 C# 的初学者,我找不到任何具体说明如何执行此操作的内容,因此我可以自己学习。任何帮助将不胜感激。节日快乐!!!

这是我目前拥有的代码,我仍在处理它,但数据不断聚集在一起,我只需要在顶部只显示一次 Fahrenheit 和 Celceius 字样

double Celceius=0;
double Fahrenheit;
lblOUT.BackColor=Color.Red;

while (Celceius <= 100)
{
    Fahrenheit = 32 + (Celceius * 1.8);

    lblOUT.Text += "Celceius"+ "Fahrenheit"+Convert.ToString(Celceius) + Environment.NewLine + Convert.ToString(Fahrenheit);

    Celceius += 5;
}
4

1 回答 1

0

您可以使用 String.PadLeft 函数在华氏值之前填充空格。您可以提供最大长度(在您的情况下为 3)来填充必要的空格。如果长度较小,它只会填充空格。您可以在下面的 MSDN 链接上查看详细信息。

http://msdn.microsoft.com/en-us/library/system.string.padleft%28v=vs.110%29.aspx

下面的代码将生成列表,但请记住使用每个字符大小相同的字体,例如“Courier New”

    private void button1_Click(object sender, EventArgs e)
    {
        double Celceius = 0;
        double Fahrenheit;
        lblOUT.BackColor = Color.Red;

        lblOUT.Text = "Celceius" + "".PadLeft(20) + "Fahrenheit";

        while (Celceius <= 100)
        {

            Fahrenheit = 32 + (Celceius * 1.8);

            lblOUT.Text += Environment.NewLine + Celceius.ToString().PadLeft(8,' ') + "".PadLeft(20) + Fahrenheit.ToString().PadLeft(10,' ');

            Celceius += 5;
        } 
    }
于 2014-12-13T05:03:01.437 回答