我有一个接受数字,逗号和句点的文本框。
假设此文本框包含输入14,500.00
我试图用Convert.ToDecimal(textbox.text)
将此数字转换为十进制,但它不起作用。包含包含Convert.ToDecimal()
格式输入的文本框的XXXX.DD
转换为十进制,但使用X,XXX.DD
格式的输入或任何带有千位分隔符的输入都会导致错误:
在这种情况下,Convert.ToDecimal()
是否合适?
附加信息:
这是表格。如果单击“添加”,则“价格”和“数量”的乘积应在datagridview中显示为“金额”。
“添加”按钮中的语法包括:
DataRow dr;
dr = dsDetail.Tables["SalesOrderDetails"].NewRow();
dr["Amount"] = Convert.ToDecimal(txtSellingPrice.Text) * Convert.ToDecimal(txtQuantity.Text);
我的
Amount
表中的SalesOrderDetails
字段的数据类型为decimal(18,2)
最佳答案
您可以强制文化并使用decimal.Parse
decimal d = decimal.Parse("14,500.00", CultureInfo.InvariantCulture); // 14500
是的,如果您愿意,也可以继续使用
Convert.ToDecimal
:d = Convert.ToDecimal("14,500.00", CultureInfo.InvariantCulture);
关于c# - 如何将字符串转换为十进制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21856917/