· NET  · Lectura en 2 min

C#: Validar si un string es un número

Si estás buscando como validar si un string es un número válido o una fecha has llegado al sitio adecuado.

Si estás buscando como validar si un string es un número válido o una fecha has llegado al sitio adecuado.

En C# cada variable tiene obligatoriamente un tipo de dato implícito a diferencia de otros lenguajes como PHP que desconoce el tipo salvo que lo indiquemos.

El motivo por el que C# hace esto es para evitar errores a futuro, ya que mientras estás programando te obliga a realizar las conversiones y tratar que ocurre en caso de que el string no se pueda convertir un número.

Para realizar estas comprobaciones tenemos la función .TryParse que nos permite convertir nuestro string en diversos formatos.

Convertir string a un integer

Si queremos convertir un string a un integer (entero) podemos hacerlo con el siguiente código:

string strNum = "1234";

            //Le enviamos strNum que es la variable donde tenemos nuestro número como string
            //En caso de que sea un número crea una nueva variable de tipo int llamada num
            if(int.TryParse(strNum, out int num))
            {
                //Es un número valido
                Console.WriteLine($"{num} Es un número entero valido");

                //num = 1234
            }
            else
            {
                //No es un número valido
                Console.WriteLine($"{strNum} no es un entero valido");
                //num = 0
            }

No obstante, si en lugar de «1234» le enviáramos «1234.56» no sería un entero válido, ya que no es un entero y tendríamos que utilizar el tipo decimal.

Convertir string a decimal

Si queremos verificar si un string es un decimal deberemos cambiar el tipo a decimal:

string strNum = "1234,56";

            //Le enviamos strNum que es la variable donde tenemos nuestro número como string
            //En caso de que sea un número decimal crea una nueva variable de tipo int llamada num
            if(decimal.TryParse(strNum, out decimal num))
            {
                //Es un número valido
                Console.WriteLine($"{num} Es un número decimal valido");

                //num = 1234.56
            }
            else
            {
                //No es un número valido
                Console.WriteLine($"{strNum} no es numero decimal valido");
                //num = 0
            }

En este caso, aunque le enviemos un número entero, lo tratará como válido, ya que un formato decimal no es necesario que tenga decimales.

Para acabar el artículo, si estás pensando en comprar hosting o en comprar dominio Web, déjame recomendarte estos artículos:

    Compartir
    Volver al blog

    Artículos relacionados

    Ver todos los artículos »
    Cómo usar los comentarios en PHP

    Cómo usar los comentarios en PHP

    Mejora tu código PHP con nuestra guía definitiva sobre comentarios. ¡Descubre técnicas eficientes y buenas prácticas para llevar tus proyectos al siguiente nivel!