· Andrés Ledo · 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 »
    Contar palabras online

    Contar palabras online

    Una herramienta online para contar palabras permite a usuarios evaluar rápidamente la longitud de sus documentos, artículos, o asignaciones...

    Tutorial PHP Foreach

    Tutorial PHP Foreach

    Explicación sencilla de como funciona el bucle foreach en PHP y como recorrer un array o un objeto utilizando foreach.

    Cómo usar la función SUM en MySQL

    Cómo usar la función SUM en MySQL

    ¡Desvelamos todos los secretos del comando SUM en MySQL! Acompáñanos en este viaje de aprendizaje y conviértete en un experto con nuestra guía...

    PHP Switch

    PHP Switch

    Aprende a usar la estructura de control de flujo "switch" en PHP para evaluar expresiones y ejecutar código en función de los resultados. Conoce sus...