Exibir quantos dígitos tem um número qualquer

estou aprendendo Java…
eis q surje uma dúvida…

preciso pegar um número e exibir quantos dígitos este número inteiro tem…
a classe faz outras coisas também, mas estas já resolvi sem problemas…
se alguém puder me ajudar fico grato ^^
só preciso saber a maneira q uso para conseguir saber qnts digitos tem determinado número inteiro…
como estou no primeiro semestre, tenho q resolver isso com comando simples (até mesmo pq não sei nenhum mto avançado :P)

desde já, agradeço!

transforma pra string… e exibe o tamanho da string
abraços

e como eu exibo tamanho da string?

String numero;
numero.length();

vai te retornar um int

abraços

não aprendi a usar length(); ainda
e tenho q resolve com comandos q eu aprendi só :S
recém to começando o conteúdo q fala sobre herança…
não sei mta coisa ainda :confused:

obs.: desculpe a encomodação, sei q estou sendo chato ^^

abraço

O mais interessante ( e que você não usa String ) é você dividir sucessivamente por 10 até o quociente for 0. Para cada divisão, existirá um dígito.

Até!

1 curtida

while(num !=0) { num = num/10; cont++; } System.out.println(cont);

ta funcionando, valeu a ajuda d tds!!

Outra forma de contar quantos dígitos tem um número inteiro qualquer, em representação DECIMAL, é calcular o logaritmo.

package exemplos;

public class QtdDigitos {
	public static int qtdDigitos (long n) {
		n = Math.abs(n);
		if (n == 0) return 1;
		else return (int) (Math.log10 (n) + 1); 
	}
	public static void main(String[] args) {
		System.out.println (qtdDigitos (0)); // imprime 1
		System.out.println (qtdDigitos (1)); // 1
		System.out.println (qtdDigitos (9)); // 1
		System.out.println (qtdDigitos (10)); // 2
		System.out.println (qtdDigitos (99)); // 2
		//                              123456789012
		System.out.println (qtdDigitos (100000000000L)); // 12
		System.out.println (qtdDigitos (999999999999L)); // 12
	}
}
1 curtida

Cara, p/ que tanta complicação?

int numero = 12345678;
String s = Integer.toString(numero);
System.out.println(s.length());

keep it simple!

2 curtidas

[quote=LuksS]Cara, p/ que tanta complicação?

int numero = 12345678;
String s = Integer.toString(numero);
System.out.println(s.length());

keep it simple![/quote]

Porque ele falou que só poderia usar coisas que ele aprendeu e ele disse que não tinha aprendido o length da classe String. Não adianta nada ele fazer as coisas e tomar um zero.

Até!

1 curtida