我有这个接受数字,逗号和句号的文本框.
假设此文本框包含输入 14,500.00
我试图将此数字转换为十进制,Convert.ToDecimal(textbox.text)但它不起作用.Convert.ToDecimal()包含具有格式的输入的文本框XXXX.DD转换为十进制但输入格式X,XXX.DD或任何输入与千分隔符导致错误:
Input string was not in correct format
Convert.ToDecimal()在这种情况下是否合适?
附加信息:

这是表格.如果单击"添加",则"价格"和"数量"的乘积应在数据网格视图中显示为"金额".
"添加"按钮中的语法包括:
DataRow dr;
dr = dsDetail.Tables["SalesOrderDetails"].NewRow();
dr["Amount"] = Convert.ToDecimal(txtSellingPrice.Text) * Convert.ToDecimal(txtQuantity.Text);
Run Code Online (Sandbox Code Playgroud)
Amount我SalesOrderDetails表中的字段具有数据类型decimal(18,2)
你可以强迫文化和使用 decimal.Parse
decimal d = decimal.Parse("14,500.00", CultureInfo.InvariantCulture); // 14500
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Convert.ToDecimal()是否合适?
是的,Convert.ToDecimal如果您愿意,也可以继续使用:
d = Convert.ToDecimal("14,500.00", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)