如何将字符串转换为十进制?

Leo*_*pat 4 c#

我有这个接受数字,逗号和句号的文本框.

假设此文本框包含输入 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)

AmountSalesOrderDetails表中的字段具有数据类型decimal(18,2)

Tim*_*ter 7

你可以强迫文化和使用 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)