Problema com Int!

4 respostas
L

Galera to com duvida como transformar essa campo que posso aceitar mais de 10 digitos segue em baixo:

public void setSupervisor(String supervisor) throws PropostaIndividualException {

		if(supervisor != null) {
			
			if(Integer.parseInt(supervisor) == 0) {
				
				this.supervisor = null;
				throw new PropostaIndividualException("Supervisor inválido!");
			}else{
				this.supervisor = supervisor;
			}
		}else{
			this.supervisor = null;
		}
	}

4 Respostas

A

Olá,
Puxa lí duas vezes mas não entendí sua dúvida.

André AS

leonardobhbr

para comparar numeros grande tem que usar a Classe BigInteger exemplo

public void setSupervisor(String supervisor) throws PropostaIndividualException { if(supervisor != null) { if(new BigInteger(supervisor).equals(new BigInteger("0"))) { this.supervisor = null; throw new PropostaIndividualException("Supervisor inválido!"); } else { this.supervisor = supervisor; } } else { this.supervisor = null; } }

adriano_si

Podias parsear ele pra Long… Pronto… é maior que Integer, vai caber mais de 11… porém tem que ver qual o tamanho real de um supervisor e quando que esse valor poderia estourar, porque senão, mantém como String mesmo, vais fazer algum cálculo com ele ??? Se for realmente necessário por numérico e o número for absurdamente grande, transforma em um BigInteger.

Enfim… Opções não faltam… No Google achas rapidinho os ranges de cada um dos tipos e onde cada um deles é adequado…

Abs []

L

não esse campo não calcula nada…

apenas esta recusando isso dando erro por ultrapassar o limite…

vo dar uma olhado no que o leo deu de exemplo.

valeu galera qualker coisa post novamente.

Criado 11 de janeiro de 2011
Ultima resposta 11 de jan. de 2011
Respostas 4
Participantes 4