it-swarm.com.ru

Преобразовать строку в int и проверить успех в C #

Как вы можете проверить, является ли stringконвертируемым для int?

Допустим, у нас есть данные типа «Дом», «50», «Собака», «45.99», я хочу знать, должен ли я просто использовать string или использовать разобранный int значение вместо.

В JavaScript у нас была эта parseInt () функция. Если строка не может быть проанализирована, она вернется NaN.

35
Robinicks

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);         
  }
71
Johnno Nolan

Не могли бы вы сделать его немного более элегантным, запустив tryparse прямо в if?

Вот так:

if (Int32.TryParse(value, out number))     
  Console.WriteLine("Converted '{0}' to {1}.", value, number);
11
BenAlabaster

Int.TryParse

5
keithwarren7

нашел это в одном из результатов поиска: Как определить, является ли строка числом?

Добавление этого, потому что ответы, которые я видел прежде, не имели использования:

int n;
bool isNumeric = int.TryParse("123", out n);

здесь "123" может быть чем-то вроде строки s = "123", которую тестирует OP, и значение n будет иметь значение (123) после вызова, если будет обнаружено, что оно является числовым.

0