Compruebe si una string determinada es un número válido (entero o punto flotante) en Java

En el artículo Verificar si una string dada es un número válido , hemos discutido el enfoque general para verificar si una string es un número válido o no. En Java, podemos usar los métodos parse() de las clases Wrapper junto con los bloques try-catch para buscar un número.

Para número entero

La clase Integer proporciona un método estático parseInt() que lanzará NumberFormatException si String no contiene un int analizable . Atraparemos esta excepción usando el bloque catch y así confirmaremos que la string dada no es un número entero válido. A continuación se muestra el programa java para demostrar lo mismo. 

Implementación:

Java

// Java program to check whether given string
// is a valid integer number
 
class GFG {
    public static void main(String[] args)
    {
        String input1 = "abc";
        String input2 = "1234";
 
        try {
            // checking valid integer using parseInt()
            // method
            Integer.parseInt(input1);
            System.out.println(
                input1 + " is a valid integer number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input1 + " is not a valid integer number");
        }
 
        try {
            // checking valid integer using parseInt()
            // method
            Integer.parseInt(input2);
            System.out.println(
                input2 + " is a valid integer number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input2 + " is not a valid integer number");
        }
    }
}
Producción

abc is not a valid integer number
1234 is a valid integer number

Para número flotante

La clase Float proporciona un método estático parseFloat() que lanzará NumberFormatException si String no contiene un flotante analizable . Capturaremos esta excepción usando el bloque catch y así confirmaremos que la string dada no es un número flotante válido. Si la string es nula , este método arrojará NullPointerException . A continuación se muestra el programa java para demostrar lo mismo. 

Implementación:

Java

// Java program to check whether given string
// is a valid float number.
 
class GFG {
    public static void main(String[] args)
    {
        String input1 = "10e5.4";
        String input2 = "2e10";
 
        try {
            // checking valid float using parseInt() method
            Float.parseFloat(input1);
            System.out.println(
                input1 + " is a valid float number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input1 + " is not a valid float number");
        }
 
        try {
            // checking valid float using parseInt() method
            Float.parseFloat(input2);
            System.out.println(
                input2 + " is a valid float number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input2 + " is not a valid float number");
        }
    }
}
Producción

10e5.4 is not a valid float number
2e10 is a valid float number

Para números grandes

Podemos usar constructores de clase BigInteger y BigDecimal para números grandes. A continuación se muestra el programa java para demostrar lo mismo. 

Implementación:

Java

// Java program to check whether given string
// is a valid number.
 
import java.math.BigDecimal;
import java.math.BigInteger;
 
class GFG {
    public static void main(String[] args)
    {
        String input1
            = "1231456416541214651356151564651954156";
        String input2 = "105612656501606510651e655.4";
        String input3 = "2e102225";
 
        try {
            // checking valid integer number using
            // BigInteger constructor
            new BigInteger(input1);
            System.out.println(
                input1 + " is a valid integer number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input1 + " is not a valid integer number");
        }
 
        try {
            // checking valid float number using BigDecimal
            // constructor
            new BigDecimal(input2);
            System.out.println(
                input2 + " is a valid float number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input2 + " is not a valid float number");
        }
 
        try {
            // checking valid float number using BigDecimal
            // constructor
            new BigDecimal(input3);
            System.out.println(
                input3 + " is a valid float number");
        }
        catch (NumberFormatException e) {
            System.out.println(
                input3 + " is not a valid float number");
        }
    }
}
Producción

1231456416541214651356151564651954156 is a valid integer number
105612656501606510651e655.4 is not a valid float number
2e102225 is a valid float number

Este artículo es una contribución de Gaurav Miglani . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *