打印出方法的返回值

本文关键字:返回值 方法 打印 | 更新日期: 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();