C#温度转换表
本文关键字:转换 温度 | 更新日期: 2023-09-27 18:25:49
我有这张表格要交给我所在的一个学校班级。我在运行程序时遇到了问题。以下是要求:
-
当用户单击按钮进行转换时,第一步是验证用户在文本框中的输入。任何实数都是可以接受的。如果用户在文本框中输入的不是实数,请在结果输出标签中显示适当的消息,如下所示。"错误:请输入要转换的数值温度。"
-
如果用户输入是实数,则将其存储,然后根据所选的"转换为"单选按钮计算转换后的温度值。然后在输出标签中显示结果。按照以下示例获取适当的格式:"72.4华氏度转换为22.44摄氏度。"
-
当用户单击按钮进行清除时,表单应重置为默认状态,为输入做好准备。提示:除了清除输入文本框和结果输出标签之外,可能还有其他事情要做。
-
当用户点击按钮退出时,表单应该关闭,结束程序
这是我的代码:
namespace TemperatureConversionForm
{
public partial class frmTemperatureConverter : Form
{
public frmTemperatureConverter()
{
InitializeComponent();
}
private void btnConvert_Click(object sender, EventArgs e)
{
double tempurature;
double celsius;
double fahrenheit;
if (!double.TryParse(txtInput.Text, out tempurature) == false )
{
MessageBox.Show("ERROR: Please enter a numeric temperature to convert");
txtInput.ResetText();
txtInput.Focus();
}
if (rdoCelsius.Checked == true)
{
celsius = double.Parse(txtInput.Text);
celsius = (5.0 / 9.0 * (txtInput - 32));
lblConversion.Text = celsius.ToString();
}
else if (rdoFahrenheit.Checked == true)
{
fahrenheit = double.Parse(txtInput.Text);
fahrenheit = (txtInput * 9.0 / 5.0 + 32);
lblConversion.Text = fahrenheit.ToString();
}
}
private void btnClear_Click(object sender, EventArgs e)
{
txtInput.ResetText();
lblConversion.ResetText();
txtInput.Focus();
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
我得到2个错误:
代码描述
CS0019运算符"-"不能应用于"TextBox"answers"Int"类型的操作数
CS0019运算符"*"不能应用于"TextBox"answers"double"类型的操作数
正如编译器告诉您的那样,您正试图对TextBox
对象执行数学运算:
txtInput - 32
很可能您打算对从TextBox
:解析的值执行数学运算
celsius = (5.0 / 9.0 * (celsius - 32));
和:
fahrenheit = (fahrenheit * 9.0 / 5.0 + 32);
基本上,TextBox
是一个对象,而不是一个值。它具有属性和功能,以及对象所具有的各种功能。虽然你可能会在概念上认为它代表了它所拥有的价值,但语言需要你更具体。您可以在此处获得TextBox
的值:
celsius = double.Parse(txtInput.Text);
然后,您需要对该值本身执行计算,而不是对其来源的TextBox
对象执行计算。