Несколько разных способов:
ORIGINALtext.Split(',').Select(s =>
float.Parse(s, CultureInfo.InvariantCulture));
ORIGINALtext.Split(',').Select(s =>
Convert.ToDouble(s, CultureInfo.InvariantCulture));
foreach (string s in ORIGINALtext.Split(',')) {
double x;
if (double.TryParse(s, NumberStyles.Number,
CultureInfo.InvariantCulture, out x)) {
yield return x;
}
}
CultureInfo.InvariantCulture
заставит компилятор использовать согласованный формат для всех строк страны.(Точка для десятичного разделителя, запятая для разделителя тысяч и т. Д.)
С помощью NumberStyles
вы можете контролировать, какие числовые стили вы хотите разрешить (окружающий пробел, числа со знаком, разделитель тысяч и т. Д.).Вы также можете передать его в float.Parse
, но не в Convert.ToDouble
.