Como transformar float em String?

Como transformar float em String, em nota1, será que usando o String.valueOf() dara certo, mas como colocalo no codigo!

import javax.swing.JOptionPane;



public class Aluno {

    private String nome;
    private int matricula;
    private float nota1;
    private float nota2;
    private float nota3;
    private int peso1;
    private int peso2;
    private int peso3;
           
public void imprime(){
   nome=JOptionPane.showInputDialog("Digite Seu nome");
   nota1=JOptionPane.showInputDialog(nome + " Digite sua primeira nota");
   nota2=JOptionPane.showInputDialog(nome + " Digite sua segunda nota");
   nota3=JOptionPane.showInputDialog(nome + " Digite sua terceira nota");
}

}
public void imprime(){
   nome=JOptionPane.showInputDialog("Digite Seu nome");
   nota1=JOptionPane.showInputDialog(nome + " Digite sua primeira nota");
   nota2=JOptionPane.showInputDialog(nome + " Digite sua segunda nota");
   nota3=JOptionPane.showInputDialog(nome + " Digite sua terceira nota");
}

}

O modo mais pratico para converter um Float em String é você concatenar o Float com ua String!

Float f = 6.78f;
String s = f+"";
1 curtida

O String.valueOf funciona, decidir como coloca-lo no código depende da implementação que vocÊ está fazendo.

[quote=luiz.argenton]O modo mais pratico para converter um Float em String é você concatenar o Float com ua String!

Float f = 6.78f; String s = f+""; [/quote]

Tenso fazer assim… :lol:
Tinha tempo que não via alguém converter assim…

(funciona, só acho feio mesmo)

A forma correta de transformar qualquer primitivo para string é usar o método .toString do respetivo wraper.
no caso do float, usar:

 float numero = 2.3F;

 String s = Float.toString(numero);

[quote=walacy][quote=luiz.argenton]O modo mais pratico para converter um Float em String é você concatenar o Float com ua String!

Float f = 6.78f; String s = f+""; [/quote]

Tenso fazer assim… :lol:
Tinha tempo que não via alguém converter assim…

(funciona, só acho feio mesmo)[/quote]

Funciona, mas tome gambiarra neles!! :lol: :lol: :lol:

Outra opção é usar o String.format. O método permite que você defina uma formatação pro float ou double. Alguns floats podem conter dízimas ou valores que a formatação fique padrão, usada nas operações acima, fique medonha.

double seuFloat = 3.0000000000001; String valor = String.format("%.2f", seuFloat);

Usando o format você também pode dizer que quer que exatamente 2 casas decimais sejam exibidas. As opções de formatação são as mesmas do printf e você pode ler a lista completa de como formatar, com exemplos, aqui:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html

1 curtida

[quote=guisantogui]
Funciona, mas tome gambiarra neles!! :lol: :lol: :lol:[/quote]

Cara, acredito que isso seja hábito de quem programou muito tempo em Java 1.4…

Palpite…

Eu acho que deu certo assim!

nota1=Double.parseDouble(JOptionPane.showInputDialog(nome + " Digite sua primeira nota"));

Mas com isso você fez ao contrário. Transformou de String para Double.

e como faço ao contrario!
Quase acertei!
To aprendendo rsrs!