C# 我的文本框上的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) {

我正在尝试获取标签上的输出。当我遇到此错误时

中发生“System.InvalidCastException”类型的异常 mscorlib.dll,但未在用户代码中处理

其他信息:无法强制转换类型为的对象 “System.Web.UI.WebControls.TextBox”输入“System.IConvertible”

我已经转换了我的代码,但仍然出现此错误

 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);”给我的错误是“输入格式不正确”尝试使用with
Convert.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)