Converter double para float

15 respostas
A

Galera sei que é uma dúvida bem ralé, mas como eu faço a conversao de double para float em java!?

Valew

15 Respostas

F

Seguinte,tu pode fazer um cast explícito.
Segue um exemplo:

double d = 3333.5555
float f = (float)d;
V

É simples:

double a = 1234567890123456789012345678901234567890.123456789;
float b = (float) a;
System.out.println(a);
System.out.println(b);

Mas rode esse exemplo e repare na perda de precisão. Se vc for precisar guardar valores tão grandes quanto o desse exemplo, eu recomendo utilizar a classe BigDecimal

Blz? Flw! :thumbup:

A

Valeu galera…ta resolvido…obrigado pela ajuda de vcs!

B
Eu fiz a seguinte doideira mas funcionou.
public class teste {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double x = 1500.0;
		String w = String.valueOf(x);
		float y = Float.parseFloat(w);
		System.out.println(w);
	}

}
Abraços...
L

Oi,
Converter double para float? acredito que não seria necessario, pois ambos são como “ponto flutuante”…

já tem exemplos ali…

Tchauzin!

M

mas tem o fato de um double ocupar 8 bytes e float 4
mas acho que não é preciso se preocupar com isso enquanto isso não é um problema

F

Não entendi o porque da não preocupação…

V

Não entendi o porque da não preocupação…

Suponha que ele está fazendo um programa p/ controlar as notas dele na escola. :lol: Utilizar o float é mais do que suficiente! Ele não vai precisar se preocupar com a faixa de valores que o float pode representar! :smiley:

Flw!

F

Não entendi o porque da não preocupação…

Suponha que ele está fazendo um programa p/ controlar as notas dele na escola. :lol: Utilizar o float é mais do que suficiente! Ele não vai precisar se preocupar com a faixa de valores que o float pode representar! :smiley:

Flw!

Ok, dessa forma não há problema.
Entendido!
Valew!

O

bom, vi numa resposta ali, mas Float.parseFloat resolve também né???

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass

T

obana_rox wrote:

bom, vi numa resposta ali, mas Float.parseFloat resolve também né???

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass

Não pq a variavel ‘a’ é do tpo primitivo, e esta recebendo um objeto.

float e Float tem diferença.

[]'s

F

obana_rox:
bom, vi numa resposta ali, mas Float.parseFloat resolve também né???

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass

Bom,o método parseFloat recebe uma String e não um double como parâmetro!
Uma solução seria:

double d = 3.33333;
String s = String.valueOf(d);
float f = Float.parseFloat(s);

:wink:

O

fec:
obana_rox:
bom, vi numa resposta ali, mas Float.parseFloat resolve também né???

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass

Bom,o método parseFloat recebe uma String e não um double como parâmetro!
Uma solução seria:

double d = 3.33333;
String s = String.valueOf(d);
float f = Float.parseFloat(s);

:wink:

ehuahue puts verdade
q float é diferente de Float eu sabia
isqueci desse detalhe da String huehuahu
vlw

V

Thiago.Oliver:
obana_rox wrote:

bom, vi numa resposta ali, mas Float.parseFloat resolve também né???

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass

Não pq a variavel ‘a’ é do tpo primitivo, e esta recebendo um objeto.

float e Float tem diferença.

[]'s


Na verdade, a variável ‘a’ não receberia um objeto, pq o método Float.parseFloat(String s) não retorna um Float, mas sim um float. Além disso, esse método só recebe String como parâmetro.

Flw!

M

pra que tanto parse se um cast resolve?

double b = 12.3;
float a = (float) b;

// do que
double b = 25.3;
float a = Float.parseFloat(String.valueOf(b));
Criado 1 de agosto de 2007
Ultima resposta 2 de ago. de 2007
Respostas 15
Participantes 8