C# 我的文本框上的System.IConvertible错误
我正在尝试获取标签上的输出。当我遇到此错误时 中发生“System.InvalidCastException”类型的异常 mscorlib.dll,但未在用户代码中处理 其他信息:无法强制转换类型为的对象 “System.Web.UI.WebControls.TextBox”输入“System.IConvertible” 我已经转换了我的代码,但仍然出现此错误C# 我的文本框上的System.IConvertible错误,c#,asp.net,C#,Asp.net,我正在尝试获取标签上的输出。当我遇到此错误时 中发生“System.InvalidCastException”类型的异常 mscorlib.dll,但未在用户代码中处理 其他信息:无法强制转换类型为的对象 “System.Web.UI.WebControls.TextBox”输入“System.IConvertible” 我已经转换了我的代码,但仍然出现此错误 protected void btnCalculate_Click(object sender, EventArgs e) {
protected void btnCalculate_Click(object sender, EventArgs e)
{
double Quantity = Convert.ToDouble(txtQuantity);
double Price = Convert.ToDouble(lblPrice);
double sum;
sum = Quantity * Price;
//Output
sum = Double.Parse(lblPriceToBe.Text);
}
将文本框
和标签
转换为双属性时,您丢失了它们的属性。应该是这样的:
double Quantity = Convert.ToDouble(txtQuantity.Text);
double Price = Convert.ToDouble(lblPrice.Text);
double Quantity = Convert.ToDouble(txtQuantity.Text, CultureInfo.InvariantCulture);
double Price = Convert.ToDouble(lblPrice.Text, CultureInfo.InvariantCulture);
编辑:为避免获取格式不正确的输入错误,请首先确保输入的数字有效,然后像这样使用CultureInfo.InvariantCulture
:
double Quantity = Convert.ToDouble(txtQuantity.Text);
double Price = Convert.ToDouble(lblPrice.Text);
double Quantity = Convert.ToDouble(txtQuantity.Text, CultureInfo.InvariantCulture);
double Price = Convert.ToDouble(lblPrice.Text, CultureInfo.InvariantCulture);
不要忘记使用语句将这一行添加到您的:
using System.Globalization;
将文本框
和标签
转换为双属性时,您丢失了它们的属性。应该是这样的:
double Quantity = Convert.ToDouble(txtQuantity.Text);
double Price = Convert.ToDouble(lblPrice.Text);
double Quantity = Convert.ToDouble(txtQuantity.Text, CultureInfo.InvariantCulture);
double Price = Convert.ToDouble(lblPrice.Text, CultureInfo.InvariantCulture);
编辑:为避免获取格式不正确的输入错误,请首先确保输入的数字有效,然后像这样使用CultureInfo.InvariantCulture
:
double Quantity = Convert.ToDouble(txtQuantity.Text);
double Price = Convert.ToDouble(lblPrice.Text);
double Quantity = Convert.ToDouble(txtQuantity.Text, CultureInfo.InvariantCulture);
double Price = Convert.ToDouble(lblPrice.Text, CultureInfo.InvariantCulture);
不要忘记使用
语句将这一行添加到您的:
using System.Globalization;
你需要使用
txtQuantity.Text
但不是txtQuantity
而且
lblPrice.Text
但不是lblPrice
所以总的来说,它应该如下所示
double Quantity = Convert.ToDouble(txtQuantity.Text);
double Price = Convert.ToDouble(lblPrice.Text);
你需要使用
txtQuantity.Text
但不是txtQuantity
而且
lblPrice.Text
但不是lblPrice
所以总的来说,它应该如下所示
double Quantity = Convert.ToDouble(txtQuantity.Text);
double Price = Convert.ToDouble(lblPrice.Text);
txtQuantity.TExt
txtQuantity.TExt
现在我有一个错误>输入的格式不正确这可能是因为文本不是number@rainalasa在framwork 4中,您可以将“type”设置为number please,我现在的问题是输出。“sum=Double.Parse(lblPriceToBe.Text);”给我的错误是“输入格式不正确”尝试使用withConvert.ToDouble
而不是double.parse
现在我发现这个错误>输入的格式不正确这可能是因为文本不是number@rainalasa在framwork 4中,您可以将“type”设置为number please,我现在的问题是输出。“sum=Double.Parse(lblPriceToBe.Text);”给了我一个“输入格式不正确”的错误。请尝试使用Convert.ToDouble
而不是Double.Parse
谢谢。现在我的sum有一个错误“输入格式不正确”错误我的lblPriceToBe是导致“输入格式不正确”的原因之一。我还尝试了cultureInfo,它给了我一个红色下划线。@rainalasa…你应该把它添加到你的using语句中:using System.Globalization代码>“输入格式不正确”是由我的“sum=Double.Parse(lblPriceToBe.Text);”引起的,但让我尝试一下bit@rainalasa..Well您还应该在该行中使用CultureInfo.InvariantCulture
:sum=Double.Parse(lblPriceToBe.Text,CultureInfo.InvariantCulture)代码>谢谢。现在我的总和“输入格式不正确”错误我的lblPriceToBe是导致“输入格式不正确”的原因之一。我还尝试了cultureInfo,它给了我一个红色下划线。@rainalasa…你应该把它添加到你的using语句中:using System.Globalization代码>“输入格式不正确”是由我的“sum=Double.Parse(lblPriceToBe.Text);”引起的,但让我尝试一下bit@rainalasa..Well您还应该在该行中使用CultureInfo.InvariantCulture
:sum=Double.Parse(lblPriceToBe.Text,CultureInfo.InvariantCulture)代码>