Header Ads Widget

Ticker

6/recent/ticker-posts

Programa Java para verificar si una cadena es numérica

En este programa, aprenderá diferentes técnicas para verificar si una cadena es numérica o no en Java.

Ejemplo 1: compruebe si una cadena es numérica

  1. public class Numeric {
  2. public static void main(String[] args) {
  3. String string = "12345.15";
  4. boolean numeric = true;
  5. try {
  6. Double num = Double.parseDouble(string);
  7. } catch (NumberFormatException e) {
  8. numeric = false;
  9. }
  10. if(numeric)
  11. System.out.println(string + " is a number");
  12. else
  13. System.out.println(string + " is not a number");
  14. }
  15. }
Cuando ejecutas el programa, la salida será:
12345.15 es un número
En el programa anterior, tenemos una cadena conString nombre que contiene la cadena a verificar. También tenemos un valor booleano numérico que almacena si el resultado final es numérico o no.
Para verificar si la cadena contiene solo números, en el bloque try, utilizamos Doubleel parseDouble()método para convertir la cadena a Double.
Si arroja un error (es decir, NumberFormatExceptionerror), significa que la cadena no es un número y el valor numérico está establecido en falseDe lo contrario, es un número.
Sin embargo, si desea verificar si hay varias cadenas, deberá cambiarlo a una función. Y, la lógica se basa en lanzar excepciones, esto puede ser bastante costoso.
En cambio, podemos usar el poder de las expresiones regulares para verificar si la cadena es numérica o no, como se muestra a continuación.

Ejemplo 2: Verifique si una cadena es numérica o no usa expresiones regulares (expresiones regulares)

  1. public class Numeric {
  2. public static void main(String[] args) {
  3. String string = "-1234.15";
  4. boolean numeric = true;
  5. numeric = string.matches("-?\\d+(\\.\\d+)?");
  6. if(numeric)
  7. System.out.println(string + " is a number");
  8. else
  9. System.out.println(string + " is not a number");
  10. }
  11. }
Cuando ejecutas el programa, la salida será:
-1234.15 es un número
En el programa anterior, en lugar de usar un bloque try-catch, usamos regex para verificar si la cadena es numérica o no. Esto se hace usando el matches()método de String .
En el matches()método,
  • -?permite cero o más -para números negativos en la cadena.
  • \\d+comprueba que la cadena debe tener al menos 1 o más números ( \\d).
  • (\\.\\d+)?permite cero o más del patrón dado (\\.\\d+)en el que
    • \\.comprueba si la cadena contiene .(puntos decimales) o no
    • En caso afirmativo, debe ir seguido de al menos uno o más números \\d+.

Publicar un comentario

0 Comentarios