我的应用程序似乎因“格式错误”而崩溃,我有这个:
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/