我有一个表示货币值(包括符号)的网格。

用户可以编辑将在after_edit事件中更新的字段。

我试图验证用户输入以仅接受有效输入。我不能使用普通的正则表达式来验证数字@"^\d{9}$",因为它包含符号。

我查看了有关Regular expression to remove any currency symbol from a string?的问题,但没有帮助。

如果输入为“ $ 2ss50.00”,则匹配并返回2。

无论如何,如果仅使用$250.00£24.50等输入,因为可以使用value.ToString("c2",culture);设置网格值,我可以进行更新吗?

最佳答案

如果您了解这种文化,可以使用C#这样完成:

float value;
var culture = CultureInfo.GetCultureInfo("en-GB");
bool isValidCurrency = float.TryParse(str, NumberStyles.Currency, culture, out value);

关于c# - 用货币符号验证数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24992286/

10-10 07:25