我正在尝试制作一个非常基本的程序。
我试图允许用户将温度输入文本框,然后如果温度低于15 , cold 这个词将显示在标签中蓝色,如果高于15 ,它将以红色显示 hot 。
到目前为止,这是我的代码:
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)并将数字输出到标签,但目前没有其他数字对颜色产生影响。
答案 0 :(得分:3)
这符合您的要求。 将String(text)转换为Int(数字), 并比较值。
protected void Button1_Click(object sender, EventArgs e)
{
if (Int32.Parse(txttemp.Text.Trim()) >= 15)
{
lblans.Text = "Hot";
lblans.ForeColor = System.Drawing.Color.Red;
}
else
{
lblans.Text = "Cold";
lblans.ForeColor = System.Drawing.Color.Blue;
}
}
答案 1 :(得分:2)
您实际上正在检查与#14; 15"和" 14"忽略所有其他价值观。
试试这个
if(addTemperature < 15)
{
lblans.ForeColor = System.Drawing.Color.Blue;
}
else
{
lblans.ForeColor = System.Drawing.Color.Red;
}
答案 2 :(得分:2)
在页面中添加标签
<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,以便您可以将其与您想要的任何数值进行比较,而不是将比较值作为字符串。您不能将除equals以外的逻辑运算符应用于字符串。
答案 3 :(得分:1)
您正在测试14和15。您需要将字符串转换为整数并与&gt; =和&lt; =。
进行比较答案 4 :(得分:1)
您需要使用<=
,>=
,>
或<
operators,用于检查数字是否小于,超过,您还需要使用转换后的双精度。
// 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,而没有检查任何其他值。
在我阅读你的问题时,我也认为ternary operator对此非常有用。
lblans.ForeColor = addTemperature < 15 ? System.Drawing.Color.Blue : System.Drawing.Color.Red
答案 5 :(得分:1)
lblans.ForeColor = addTemperature < 15 ? System.Drawing.Color.Blue : System.Drawing.Color.Red;