打印出方法的返回值
本文关键字:返回值 方法 打印 | 更新日期: 2023-09-27 18:25:30
我需要知道如何打印出方法的返回值
public double ConvertToFar(double a)
{
double.TryParse(textBox1.Text, out a);
double b=9.0;
double c=5.0;
double d=32.0;
double f = a * (b / c) + d;
return f;
}
public double ConvertToCel(double a,double b,double c,double d,double e)
{
double.TryParse(textBox1.Text, out a);
b=32.0;
c=5.0;
d=9.0;
e = (a - b) * (c / d);
return e;
}
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked == true)
{
label3.Text = ConvertToFar(double.TryParse(textBox1.Text, out a)).ToString();
}
}
错误显示"'温度1.Form1.ConvertToFar(double('的最佳重载方法匹配有一些无效参数">
TryParse()
返回bool
,告知解析是否成功:
double number;
bool success = double.TryParse(textBox1.Text, out number); // returns true or false
if(success) // check if it was parsed successful
{
label3.Text = ConvertToFar(number).ToString(); // now set it in label
}
您应该将代码更改为以下代码:
double a;
if(double.TryParse(textBox1.Text, out a))
label3.Text = ConvertToFar(a).ToString();
TryParse
方法返回的是bool
而不是double
。具体来说,如果解析成功,它将返回 true
。否则返回false
。
您收到此错误的原因是ConvertToFar
方法将double
而不是bool
作为参数。
更新
附带说明的是,我认为您的两种方法都不需要这种double.TryParse(textBox1.Text, out a);
。您已经将双精度值传递给您的方法,该方法与文本框中插入的 id 为 textBox1
的文本相关联。
此外,除了华氏度的温度外,无需将任何其他参数传递给ConvertToCel
。计算所需的其他值应该是局部变量,如下所示。您不必更改它们的值。这是朱哈尔的好收获。请在下面的评论中查看。
我的意思是您的方法应该更改如下:
public double ConvertToFar(double a)
{
double b=9.0;
double c=5.0;
double d=32.0;
double f = a * (b / c) + d;
return f;
}
public double ConvertToCel(double a)
{
b=32.0;
c=5.0;
d=9.0;
e = (a - b) * (c / d);
return e;
}
double.TryParse
返回一个布尔结果,指示解析是否成功。您需要将double
值传递给您的方法
if(double.TryParse(textBox1.Text, out a))
label3.Text = ConvertToFar(a).ToString();