Преобразуйте строку в int и проверьте успех на C#
Вопрос
Как можно проверить, является ли нить является кабриолет для инт?
Допустим, у нас есть такие данные, как «Дом», «50», «Собака», «45,99». Я хочу знать, следует ли мне просто использовать нить или используйте проанализированный интервал вместо этого значение.
В JavaScript у нас было это синтаксический анализ () функция.Если строка не удалось разобрать, оно вернется НЭН.
Решение
Int32.TryParse(String, Int32)
- http://msdn.microsoft.com/en-us/library/f02979c7.aspx
bool result = Int32.TryParse(value, out number);
if (result)
{
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
Другие советы
Не могли бы вы сделать это немного более элегантно, запустив трипарс прямо в if?
Вот так:
if (Int32.TryParse(value, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
Int.TryParse
нашел это в одном из результатов поиска: Как определить, является ли строка числом?
Добавление этого, потому что ответы, которые я видел раньше, не использовались:
int n;
bool isNumeric = int.TryParse("123", out n);
здесь "123"
может быть что-то вроде строки s = "123"
что ОП тестирует и значение n
будет иметь значение (123
) после вызова, если он окажется числовым.