Re:Ajudinha

20 respostas
rmarin

Que me diz?

public static int doubleToInt(double value){
    return (int) value;
}

Ah, nome de método começa em minúscula, por favor… :stuck_out_tongue:

20 Respostas

Mantu

que tal:

public long DoubleToLong(double value) {
		return (long)value;
	}

:thumbup:
Qq dúvida, pergunte mais, ok?

rmarin

Como assim get p@ul@? Tem mais alguma pista?

glaucioguerra

É o metodo de algum bean?

rmarin

P@ul@:
Oi rmarin…
Su iniciante em Java… apenas me disseram para fazer um método de conversão. Existe apenas essa maneira de se fazer uma conversão??

Olha p@ul@, se você precisa somente fazer esta pequena conversão, derrepente não vale apena nem criar método, ou seja, no meio do seu código você pega o seu double e faz a conversão.

Ex:

long x = (long) suaVariavelDouble;

Quanto a ser o único modo, por se tratar de tipos primitivos, acredito que o Cast (O que agente fez) , seja a única maneira.

glaucioguerra

P@ul@:
Oi rmarin…
Su iniciante em Java… apenas me disseram para fazer um método de conversão. Existe apenas essa maneira de se fazer uma conversão??

Essa forma que o pessoal está colocando (long)value ou (int)value nós chamamos de cast. Eu acho que o pessoal está pedindo para você criar uma classe que tenha um atributo do tipo double, e que esta classe possua um método para retornar int deste double. Para isso, você deverá criar os getters e setters de sua classe. Estou certo?

Segue um exemplo:

public class MinhaClasse {
	private double value;

	public double getValue() {
		return value;
	}

	public void setValue(double value) {
		this.value = value;
	}
	public int getValueInt(){
		return (int)value;
		
	}
}

Um abraço!

Glaucio Guerra

rmarin

Para bom entendedor meia palavra basta.

Você está certo deve ser isso mesmo que ela precisa.

Mantu

Ou pode ser pior: Vai que o loco do professor dela quer que ela converta na unha… Tipo, tranformar em String, joga fora o que tiver antes do ponto(vírgula) e volta o resto pra long… hahahahaha :lol: Detalhe: Falo isso por experiência própria… tem cada professa maluco…

Mantu

Paulets, isso é verdade no Java 1.4:
Nessa versão do Java, se um método tem a seguinte assinatura:

public Long dobleToLong(Double);

No seu interior, ele tem que retornar um objeto Long. Se ele retornar um primitivo long, aí dá erro de compilação.
Assim, por exemplo, tá errado:

public Long longToDouble(Double d){
	long result = (long)d;
	return result;
}

E assim, tá certo

public Long longToDouble(Double d){
	long longVal = (long)d.doubleValue();
	return new Long(longVal);
}

=========
Agora, no Java 5.0, tem o recurso do auto-boxing, que faz a conversão entre um primitivo e seu Wrapper automaticamente. Nesse caso, o exemplo que estaria errado no Java 1.4, funcionaria bunitinho no Tiger.
Qq dúvida, poste mais! :thumbup:

rmarin

Olá p@ul@, faz assim:

Double value;

    public Double getValue() {
        return value;
    }

    public void setValue(Double value) {
        this.value = value;
    }
    
    public Long getLong() {
        return new Long(value.longValue()); 
    }

Flw! :stuck_out_tongue:

rmarin

Bom, cria um construtor que recebe o valor do double assim:

public NomeDaSuaCLasse(Double value) {
        setValue(value);
    }

Tenta aí… :stuck_out_tongue:

Mantu

[EDIT]
Fui lerdo, hehehehe… já tinham postado respostas antes de mim…
Desculpem o transtorno! :XD:

P11

Olá Pessoal…
Estou tentando fazer um método de conversão de double para long e não estou conseguindo…
Será que alguém poderia me ajudar??

public static long DoubleToLong(double value) { long valueLong; valueLong = Long.getLong(value); return valueLong; }

P11

Obrigada pessoal… funcionou :smiley:
É que pediram para eu fazer usando o get… que diferença faz??

P11

Oi rmarin…
Su iniciante em Java… apenas me disseram para fazer um método de conversão. Existe apenas essa maneira de se fazer uma conversão??

P11

É exatamente o que o glaucioguerra escreveu…
Nossa… fico muito agradecida pela atenção de todos… principalmente por tentar em me ajudar em algo que não fui objetiva.
Obrigada mesmo. :slight_smile:

P11

Outra dúvida…
Se tenho um método que retorne um Long, a assinatura do método ficaria:

Essa classe deverá retornar tipos Wrapper e não os primitivos. Por exemplo, a nossa classe Double retornaria, no método getLong, um valor da classe Long (do java) e não um long primitivo (com “l” minúsuculo).

Como faço isso??

P11

Mantu…
Preciso deixar o valor Double que vai receber na própria classe. Por exemplo, deixar na minha classe Double, teria um atributo privado do tipo Double, que seria preenchido no construtor da classe. Aí sim, teria um método chamado getLong.
Seria +/- isso:

private double value; public Long getLong() { return new Long(this.value.longValue()); }
Obrigada

P11

Valeu rmarin :wink:

Me alertaram uma coisa:

“Só não pode esquecer de criar o construtor da classe e preencher o valor “value” com o valor que será passado no construtor.”

Me dá mais uma dica??

P11

Obrigada de novo rmarin… :thumbup:
Daqui a pouco estou de volta novamente…

P11

Oi mantu…
Desculpe se não fui clara…
Mas consegui resolver meu problema com a ajuda do rmarin…
Obrigada viu! :smiley:
T+

Criado 25 de julho de 2006
Ultima resposta 27 de jul. de 2006
Respostas 20
Participantes 4