Domanda

Come puoi verificare se una stringa è convertibile in un int?

Supponiamo di avere dati come " House " ;, " 50 " ;, " Dog " ;, " 45.99 " ;, voglio sapere se dovrei semplicemente usare la stringa o usare invece il valore int analizzato.

In JavaScript abbiamo avuto questa parseInt () . Se la stringa non potesse essere analizzata , verrebbe restituita NaN.

È stato utile?

Soluzione

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);         
  }

Altri suggerimenti

Non potresti renderlo un po 'più elegante eseguendo il tryparse proprio nel if?

In questo modo:

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

int.TryParse

trovato questo in uno dei risultati della ricerca: Come faccio a identificare se una stringa è un numero?

Aggiungendo questo perché le risposte che ho visto prima non avevano uso:

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

qui " 123 " può essere qualcosa di simile alla stringa s = " 123 " che l'OP sta testando e il valore n avere un valore ( 123 ) dopo la chiamata se viene trovato numerico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top