C# 最佳重载方法有一些无效参数,无法转换类型

C# 最佳重载方法有一些无效参数,无法转换类型,c#,winforms,methods,type-conversion,C#,Winforms,Methods,Type Conversion,它在方法中给出了一个无效参数的错误,并且它不能从字符串转换为浮点。 Banking是类,object1是对象,transact是方法。 只要我相信下面的方法没有错误,我就粘贴我的类和方法代码: Banking object1 = new Banking(t1.Text); MessageBox.Show(object1.transact(t2.Text)); 以下是错误列表: 错误1“WindowsFormsApplication1.Banking.transact(float)”的最佳重载方

它在方法中给出了一个无效参数的错误,并且它不能从字符串转换为浮点。
Banking
是类,
object1
是对象,transact是方法。 只要我相信下面的方法没有错误,我就粘贴我的类和方法代码:

Banking object1 = new Banking(t1.Text);
MessageBox.Show(object1.transact(t2.Text));
以下是错误列表:

错误1“WindowsFormsApplication1.Banking.transact(float)”的最佳重载方法匹配具有一些无效参数


错误2参数“1”:无法从“字符串”转换为“浮点”

从字符串到浮点的值

class Banking
    {   string bankName;
        float amount;

        public Banking(string name)
        {
            bankName = name;
        }
        public string transact(float a)
        {
            amount = a * 7 / 100;
            float total =Convert.ToSingle(amount + a);
            return "Your amount of Rupees : " + total + "has been deposited in " + bankName;
        }
    }

您认为t2.Text的类型是什么?您认为
transact
的参数类型是什么?您是否希望从第一种类型隐式转换为第二种类型?错误消息告诉您,
Banking.Transact()
希望将一个
float
作为参数传递。您正在传递
t2.Text
,如果将鼠标悬停在
Text
上,您将看到一个字符串。在大多数情况下,您不能随意地将一种类型(字符串)转换为另一种类型(浮点)。你必须做一些转换。在大多数情况下,你可以在谷歌上搜索类似于
C#convert X to Y
的东西,如果你自己无法理解的话,可以找到一个例子。它很有效,非常感谢你,但我确实有一个问题,我也尝试过以下内容//MessageBox.Show(object1.transact(convert.ToSingle(t2.text))错了吗?如果是的,你能告诉我吗explain@MHasanAli,Convert.ToSingle会尝试转换该值,但不会尝试解析(即“读取”)该值。要将
“12.34e5”
之类的字符串转换为数字,必须解析该字符串(如Single.parse)--即,必须检查字符串中的每个字符,以计算此字符串表示的实际数值。转换将一个值转换为另一个值。但字符串不是(数字)值,因此不可转换。字符串只是字符序列,例如“Hello world”。。。
MessageBox.Show(object1.transact(Single.Parse(t2.Text)));