2

私は非常に基本的なプログラムを作ろうとしています。

ユーザーが体温をテキスト ボックスに入力できるようにしようとしています。温度が 15 未満の場合はラベルに「寒い」という単語が青色で表示され、15 を超える場合は「暑い」という色で表示されます。赤。

これまでのところ、これは私のコードです:

namespace FinalTemperature
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Button1_Click(object sender, EventArgs e)
        {
            double addTemperature;
            addTemperature = Double.Parse(txttemp.Text);
            lblans.Text = addTemperature.ToString();

            if (txttemp.Text.Trim() == "15")
            {
                lblans.ForeColor = System.Drawing.Color.Red;
            }

            if (txttemp.Text.Trim() == "14") 
            {
                lblans.ForeColor = System.Drawing.Color.Blue;
            }
        }
    }
}

これまでのところ、私のプログラムは温度を 15 の場合は赤で、14 の場合は青で表示し、数値をラベルに出力するだけですが、現時点では他の数値が色に影響を与えることはありません。

4

6 に答える 6

2

ASPX

ページにラベルを追加し、

<asp:label id="lbl" runat="server"></asp:label>, 

あなたのコードビハインドで:

// 以下の条件を使用します。

if(Convert.ToInt32(txtTemp.Text)>15 )
{
  lbl.Text= "HOT";
  lbl.ForeColor= System.Drawing.Color.Red;
}
else
{
    lbl.Text="COLD";
         lbl.ForeColor= System.Drawing.Color.Blue;
}

上記のコードは文字列値を Int32 に変換するため、比較値を文字列として取得する代わりに、任意の数値と比較できます。文字列に等号以外の論理演算子を適用することはできません。

于 2013-10-12T18:13:26.327 に答える
2

実際には、他のすべての値を無視して、「15」と「14」との同等性をチェックしています。

これを試して

if(addTemperature < 15)
{
    lblans.ForeColor = System.Drawing.Color.Blue;
}
else
{
    lblans.ForeColor = System.Drawing.Color.Red;
}
于 2013-10-12T17:37:50.593 に答える
1

具体的には、14 と 15 をテストしています。文字列を int に変換し、>= および <= と比較する必要があります。

于 2013-10-12T17:37:03.953 に答える
1

<=>=>、または< 演算子を使用して、数値がより小さい、より大きいなどのチェックに使用する必要があります。これには、変換された double も使用する必要があります。

// If LESS than 15
if (addTemperature < 15)
{
    lblans.ForeColor = System.Drawing.Color.Blue;
}
// Else, meaning anything other is MORE than 15, you could also do:
// else if (addTemperature >= 15), but that wouldn't be needed in this case
else
{
    lblans.ForeColor = System.Drawing.Color.Red;
}

前のコードが機能しなかった理由は、15 と 14 のみをチェックし、他の値をチェックしていなかったためです。

あなたの質問を読んでいて、三項演算子がこれに最適な使い方だとも思いました。

 lblans.ForeColor = addTemperature < 15 ? System.Drawing.Color.Blue : System.Drawing.Color.Red
于 2013-10-12T17:38:10.943 に答える