C# int32与十进制转换
我有个问题。在我的类中,我将产品ID定义为int32,产品价格定义为十进制。当我必须使用文本框在数据库中保存数据时,我不能这样做,它不能转换数据或其他东西。如果可以的话,请帮助我。多谢各位C# int32与十进制转换,c#,class,C#,Class,我有个问题。在我的类中,我将产品ID定义为int32,产品价格定义为十进制。当我必须使用文本框在数据库中保存数据时,我不能这样做,它不能转换数据或其他东西。如果可以的话,请帮助我。多谢各位 public Int32 Product_ID { get; set; } public String Product_name { get; set; } public String Product_category { get; set; } public Decimal Product_price {
public Int32 Product_ID { get; set; }
public String Product_name { get; set; }
public String Product_category { get; set; }
public Decimal Product_price { get; set; }
public string image_location { get; set; }
更正此行:
product.Product_price = int.Parse(textBox4.Text);
到
最好先检查文本框的内容(如果您还没有),这样您就有了正确的逗号、数字、try catch等等。您必须将其转换为十进制而不是整数,因为
产品。产品价格属于十进制类型。。类型必须始终匹配
product.Product_price = Convert.ToDecimal(textBox4.Text);
或
更新
这只是一个猜测,但试试这个:
if(IsPostback)
{
Product product = new Product();
product.Product_ID = int.Parse(textBox1.Text);
product.Product_name = textBox2.Text;
product.Product_category = textBox3.Text;
product.Product_price = Convert.ToDecimal(textBox4.Text);
product.image_location = textBox5.Text;
Product.Save(product);
}
您尝试过十进制解析吗?您如何知道有问题?也许您可以与我们共享一条错误消息?它无法将其转换,或者发生了什么事情
?你有什么错误?错误信息是什么?嗯。。输入字符串的格式不正确更好,请使用NumericUpDown
。我更正了它,但它甚至没有到达那一行。错误在第一行。消息:输入字符串格式不正确:SMaybe textBox3。文本不是价格?或者它是空的(尚未填写),尝试调试(按f5),当它停在该行时,将光标放在textBox4.Text上查看其中的内容。
product.Product_price = Convert.ToDecimal(textBox4.Text);
product.Product_price = decimal.Parse(textBox4.Text);
if(IsPostback)
{
Product product = new Product();
product.Product_ID = int.Parse(textBox1.Text);
product.Product_name = textBox2.Text;
product.Product_category = textBox3.Text;
product.Product_price = Convert.ToDecimal(textBox4.Text);
product.image_location = textBox5.Text;
Product.Save(product);
}