Exibir quantos dígitos tem um número qualquer

9 respostas
A

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!

9 Respostas

G

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

A

e como eu exibo tamanho da string?

G

String numero;
numero.length();

vai te retornar um int

abraços

A

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

maquiavelbona

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

A

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

ta funcionando, valeu a ajuda d tds!!

T

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

Cara, p/ que tanta complicação?

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

keep it simple!

maquiavelbona

LuksS:
Cara, p/ que tanta complicação?

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

keep it simple!

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

Criado 9 de abril de 2008
Ultima resposta 10 de abr. de 2008
Respostas 9
Participantes 5