0

事後条件付きループを使用するプログラムを作成しようとしています。ループは、摂氏から華氏への変換を計算しています。私は方程式を下に持っていますが、必要な方法で出力を得ることができません。CとFの温度を独自の整理された列に保持しながら、両方の温度を同じラベルに出力する必要があります。ここに私がやろうとしていることを正確に示すリンクがあります:

ここに画像の説明を入力

その後、C temp データを同じ場所に保持しながら、テーブルを右揃えにする必要があります。これらのいずれかを行う方法がわかりません.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 に答える