Int32 numero = (Int32) textBox.text;
Pero como lo que esté dentro del texto no sea un número… un bonito reventón vamos a obtener. Por eso me he acostumbrado a utilizar un método publico que utilice el TryParse del tipo utilizado.
public static Boolean convierteEnNumero(string pNumero, out Int32 numero) { return Int32.TryParse(pNumero, out numero); }Este método me devuelve dos valores. Un booleano que me indica si la conversión ha sido posible o no, y un número en donde se almacena el número convertido o me devuelve CERO si no ha podido hacerse a conversión.
Lo mejor es que jugando con la firma del método puedo ajustar la respuesta a lo que necesito:
Int32 numero; // Recupero si se ha podido convertir y el valor numérico. if (convierteEnNumero("14", out numero) == true && numero > 1) { numero++; }; // Recupero el valor numérico de la conversión. if (convierteEnNumero("14") > 1) { numero++; }; // Compruebo si es un número. Recupero si se ha podido convertir. if (IsNumero("14")) { numero++; };public static Boolean convierteEnNumero(string pNumero, out Int32 numero)
{
return Int32.TryParse(pNumero, out numero);
}
public static Int32 convierteEnNumero(string pNumero)
{
Int32 numero;
Int32.TryParse(pNumero, out numero);
return numero;
}
public static Boolean IsNumero(string pNumero)
{
Int32 numero;
return Int32.TryParse(pNumero, out numero);
}
A mí me ha sido de mucha ayuda para evitar los errores tontos e inesperados de conversiones.
No hay comentarios:
Publicar un comentario