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)));