Разбор пары поплавков - PullRequest
1 голос
/ 16 ноября 2010

Имеется строка типа: "0.123, 0.456" Какой самый простой способ разбить два значения с плавающей точкой на две переменные a и b?

Ответы [ 2 ]

7 голосов
/ 16 ноября 2010

Я бы предложил:

  • Разделить на запятую (string.Split)
  • Обрезать (string.Trim)
  • Разобрать с float.Parse или float.TryParse.(Если вы хотите, чтобы при неправильном формате создавалось исключение, выберите Parse. Если вы хотите обрабатывать ошибки синтаксического анализа как часть вашего обычного потока управления, используйте TryParse.)

Если числа определенно будут в этом формате, явно укажите CultureInfo.InvariantCulture.Также рассмотрите возможность использования decimal (или double) вместо float.

0 голосов
/ 16 ноября 2010

Разделите строку и попробуйте проанализировать каждый обрезанный элемент массива.

string[] parts = "0.123, 0.456".Split(new Char [] { ',' });
foreach (string s in parts) 
{
    if (s.Trim() != "")
    {
       var result = float.Parse(s.Trim(), CultureInfo.InvariantCulture); // May throw an InvalidCastException
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...