Метод TryParse
Статический метод double.TryParse возвращает
true, если текст удалось прочитать. Число
отдаёт через параметр out. Для строк
с точкой укажите CultureInfo.InvariantCulture.
При неудаче исключения нет - в отличие от
Parse.
Синтаксис
bool ok = double.TryParse(text, CultureInfo.InvariantCulture, out double num);
Пример
Давайте разберём корректную строку "12.5":
using System;
using System.Globalization;
class Program
{
static void Main()
{
bool ok = double.TryParse("12.5", CultureInfo.InvariantCulture, out double res);
Console.WriteLine(ok);
Console.WriteLine(res.ToString(CultureInfo.InvariantCulture));
}
}
Результат выполнения кода:
True
"12.5"
Пример
Давайте обработаем неверный текст "abcde":
using System;
using System.Globalization;
class Program
{
static void Main()
{
bool ok = double.TryParse("abcde", CultureInfo.InvariantCulture, out double res);
Console.WriteLine(ok);
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
0
Пример
Давайте разберём строку "12345":
using System;
using System.Globalization;
class Program
{
static void Main()
{
bool ok = double.TryParse("12345", CultureInfo.InvariantCulture, out double res);
Console.WriteLine(res.ToString(CultureInfo.InvariantCulture));
}
}
Результат выполнения кода:
"12345"