作为我工作的一部分,我需要从Excel工作表中读取价格值。我需要实现
我应该为Price选择哪种数据类型?小数或双倍还是其他?在数据库中,我把数据库字段类型作为钱。
答案 0 :(得分:0)
如果您只需要在C#中验证价格编号,我认为您不需要任何正则表达式。
我建议使用Decimal
类型,here您可以找到原因。 Decimal
类包含静态TryParse
方法,可用于将数字验证为有效的decimal
数字。以下是来自MSDN的略微修改的示例(我决定使用InvariantCulture
,但这取决于您的数据库是否包含EN-US格式的货币):
var validated = false;
decimal number;
// Parse currency value using current culture.
var value = "1,097.63";
var style = System.Globalization.NumberStyles.Number;
var culture = System.Globalization.CultureInfo.InvariantCulture;
if (!Decimal.TryParse(value, style, culture, out number))
if (number > 0) // Check if the value is not negative or zero
validated = true;