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

fec

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

double d = 3333.5555
float f = (float)d;
von.juliano

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

bsl.lacerda
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...
lina

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

já tem exemplos ali…

Tchauzin!

Marky.Vasconcelos

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

fec

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

von.juliano

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!

fec

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

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

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:

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

von.juliano

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!

Marky.Vasconcelos

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