Re:Converter double para long

3 respostas
felipe_gdr

Vc poderia fazer o seguinte:

double d = 12.5;

int i = (int) d;

long l = (long) l;

.

.

.

.

mas a conversão perde precisão se a nova variável tiver menor capacidade de armazenamento que a primeira. é isso né?!

3 Respostas

T

De modo geral, as conversões nunca são muito automáticas porque é necessário saber o que você realmente quer. Por exemplo, digamos que o seu professor tenha lhe dado uma nota 8.6 (double) mas o sistema da escola só permite dar notas inteiras (long). O que você acharia se ele fizesse isso:

double nota = 8.6;
long notaEscola = (long) nota;

Acho que você iria querer que a nota fosse arredondada (9), não truncada (que é o que ocorre quando você simplesmente usa “(long)”).

// agora sim você vai receber uma nota 9!
long notaEscola = Math.round (nota);

Por outro lado, se você tivesse uma conta a pagar, preferiria que sua dívida fosse truncada ou arredondada?

double valorAPagarDouble = 123.45;
long valorAPagar = (long) valorAPagarDouble;

É por isso que é sempre interessante pensar em vez de fazer as conversões automaticamente.

P11

Preciso realizar algumas conversões, do tipo:

double - long
double - decimal
double - integer
… etc
não somente de double… todos os tipos de conversões possíveis.

Mas é o seguinte, não é o usuário que digita o valor e depois faz a conversão. Pega os valores da base de dados, lê e faz a conversão.
Gostaria de saber se alguém tem alguma dessas classes prontas e que pudesse me passar, se possível.
Valeu,

P11

Oi…
Mas como eu faço para ler esses dados da base de dados??
Att,

Criado 20 de julho de 2006
Ultima resposta 21 de jul. de 2006
Respostas 3
Participantes 3