GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Exibir quantos dígitos tem um número qualquer


#1

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!


#2

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


#3

e como eu exibo tamanho da string?


#4

String numero;
numero.length();

vai te retornar um int

abraços


#5

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


#6

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é!


#7

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

ta funcionando, valeu a ajuda d tds!!


#8

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
	}
}

#9

Cara, p/ que tanta complicação?

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

keep it simple!


#10

[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é!


#11