Hola a todos, hoy os voy a explicar como podemos contar cuantos dígitos tiene un número.
Para cierto algoritmos, necesitaremos saber cuantos dígitos tiene un número. Para ello os proporciono una función que dado un número nos devuelva cuantos dígitos tiene.
La funcionalidad seria la siguiente:
- Le damos un número por parámetro.
- Si ese número es 0, devuelvo 1.
- Si no es 0, recorremos del número dividiéndolo entre 10 hasta llegar a 0. Para evitar problemas con negativos, lo pasaremos a absoluto.
- Cada vez que dividamos entre 10, aumentamos en 1 nuestro contador.
La función es la siguiente:
public static int cuentaCifras(int num) { int contador = 0; // Si el numero es 0, tiene una cifra if (num == 0) { contador = 1; } else { // Vamos dividiendo entre 10 hasta que lleguemos a 0 for (int i = Math.abs(num); i > 0; i /= 10) { contador++; } } return contador; }
Os dejo el código completo:
import java.util.Scanner; public class CuentaCifras { public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Introduce un numero"); int numero = sn.nextInt(); int cifras = cuentaCifras(numero); System.out.println("Numero de cifras: " + cifras); } public static int cuentaCifras(int num) { int contador = 0; if (num == 0) { contador = 1; } else { for (int i = Math.abs(num); i > 0; i /= 10) { contador++; } } return contador; } }
Veamos algunos ejemplos:
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta