Java - comprobar si un String es un número con java y q validar q este sea un numero de 16 cifras

 
Vista:

comprobar si un String es un número con java y q validar q este sea un numero de 16 cifras

Publicado por Uanakin (4 intervenciones) el 11/04/2020 17:12:05
como puedo comprobar si un String es un número con java y q validar q este sea un numero de 16 cifras y luego poder mostrarlo en pantalla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

comprobar si un String es un número con java y q validar q este sea un numero de 16 cifras

Publicado por Billy Joel (875 intervenciones) el 11/04/2020 18:12:52
Se que hay varias formas de resolver esto pero acá va mi solución:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public boolean isNumber(String numero) {
    if (numero == null) {
        return false;
    } else {
        boolean is = numero.length() == 16;
        if (is) {
            for (Character c : numero.toCharArray()) {
                try {
                    Integer.parseInt(c.toString());
                } catch (NumberFormatException ex) {
                    is = false;
                    break;
                }
            }
        }
        return is;
    }
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

comprobar si un String es un número con java y q validar q este sea un numero de 16 cifras

Publicado por Rodrigo (623 intervenciones) el 12/04/2020 00:34:29
Tienes que considerar el signo? (numeros negativos)?
Que tenga decimales?

Como sea, aqui van algunas opciones:

- Usa BigInteger
- Itera preguntando si cada caracter esta en el rango '0' y '9'
- Usa una expresion regular.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gnial

Publicado por UANAKIN (4 intervenciones) el 12/04/2020 05:24:31
si genial muchas gracias, y como podría hacer q si el usuario ingresa una letra le diga q las letras no son validas/ q le diga q no cumple con el numero de dígitos correctos y q el numero ingresado x teclado pueda ser almacenado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
sin imagen de perfil
Val: 129
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

gnial

Publicado por Juan Manuel (53 intervenciones) el 15/04/2020 03:06:43
pues yo lo hize asi, si ven algun error en mi codigo me avisan
1
2
3
4
5
6
7
8
9
10
11
12
13
public void esNumero(String numero) {
    int num = 0;
    try {
        num = Integer.parseInt(numero);
        if (num != 16) {
            System.out.println("EL NUMERO INGRESADO NO CONTIENE 16 CIFRAS");
        } else {
            System.out.println("NUMERO CORRECTO");
        }
    } catch (Exception e) {
        System.out.println("EL DATO INGRESADO NO ES VALIDO, VERIFIQUE!!");
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

gnial

Publicado por Rodrigo (623 intervenciones) el 15/04/2020 05:01:22
SI comparas num con 16 estas comparando el valor, no el largo. Es eso lo que quieres?

Hay varias maneras de calcular el largo de un numero.
- Dividir sucesivamente por 10 hasta que llegues a 0 y contar el numero de iteraciones
- Convertirlo de vuelta a un string y preguntar el largo del string
- Usar el logaritmo en base 10, o en cualquier base y dividir por el logaritmo de 10 en esa base.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar