Converter double para float

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

Valew

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

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

É 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:

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

Eu fiz a seguinte doideira mas funcionou.

[code]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);
}

}
[/code]
Abraços…

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

já tem exemplos ali…

Tchauzin!

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

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

Não entendi o porque da não preocupação…[/quote]

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!

Não entendi o porque da não preocupação…[/quote]

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![/quote]

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

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

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass

obana_rox wrote:

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

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass [/quote]

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

float e Float tem diferença.

[]'s

[quote=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[/quote]

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:

[quote=fec][quote=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[/quote]

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:
[/quote]

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

[quote=Thiago.Oliver]obana_rox wrote:

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

double b = 4.678
float a;

a = Float.parseFloat(b);
abrass [/quote]

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

float e Float tem diferença.

[]'s[/quote]
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!

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));