c# - 使用正则表达式将部分字符串转换为 double

标签 c# regex string double type-conversion

我的应用程序似乎因“格式错误”而崩溃,我有这个:

Match m = Regex.Match(value, "[0-9]+[.[0-9]+]?");
double number = Convert.ToDouble(m.Value);
return number;

要点是将这样的字符串值:114.6W, 120.6W. 转换为我可以排序的值。 我编写的函数假设将任何字符串转换为 9999.9999 double 值,但它在 Convert.ToDouble() 上崩溃。说输入格式错误?

最佳答案

也许 . 不是您正在使用的区域性的小数点分隔符。尝试在解析时指定 InvariantCulture:

double number = Convert.ToDouble(m.Value, CultureInfo.InvariantCulture);

关于c# - 使用正则表达式将部分字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817989/

相关文章:

c# - 多个键的正则表达式 :Value Search Terms

python - 按字母顺序检查一个单词是否位于另外两个单词之间

c# - 在异常过滤器中获取 WebApi 异常响应

php - MySQL 按顺序选择单词的首字母进行搜索

用于嵌套函数的 C# RegEx

r - 使用 REGEX 在多个引号字符串中匹配和替换

c - C 中的字符串 : pitfalls and techniques

c++ - 如何使用 string::find 在一次操作中找到 "+"或 "-"

c# - 如何从 Azure 上运行的 IIS 进程重新启动服务器?

c# - 无法在 Entity Framework 中的 DbCommand 中传递参数