ultimo switch sumar recorrer primer obtener numeros numero letras letra fuente digitos digito convertir con codigo cantidad java string math numbers int

switch - recorrer un numero en java



¿La forma más rápida de obtener el número de dígitos en un número? (3)

Esta pregunta ya tiene una respuesta aquí:

Detecto la cantidad de dígitos en un número. Por ejemplo, 329586 tiene 6 dígitos.

Lo que hice, es simplemente analizar el número de la cadena, y obtener la longitud de la cadena, como:

number.toString().length()

Pero, ¿hay una forma más rápida de contar dígitos en un número? Tengo que usar este método varias veces, así que creo que usar toString() puede afectar el rendimiento.

Gracias.


¿Qué tal esta solución hecha en casa?

int noOfDigit = 1; while((n=n/10) != 0) ++noOfDigit;


Math.floor(Math.log10(number) + 1) // or just (int) Math.log10(number) + 1

Por ejemplo:

int number = 123456; int length = (int) Math.log10(number) + 1; System.out.println(length);

SALIDA:

6


Prueba esto :

Ejemplo de trabajo

public class Main { public static void main(String[] args) { long num = -23; int digits = 0; if (num < 0) num *= (-1); if (num < 10 && num >= 0) digits = 1; else { while(num > 0) { num /= 10; digits++; } } System.out.println("Digits: " +digits); } }