Olá, tenho um site onde mostra varios produtos que são pegos do DB, o preço é Double… então na hora de mostrar ele mostra " 49.4 ", “50.0” queria mostrar “49,40”, “50,00” no caso teria q converter pra string e usar format? como faria isso? estou utilizando struts 2.
Java dispõe de uma classe chamada NumberFormat que permite a formatação de números em moeda, conforme um determinado país. Se você deseja formatar um double para real faça o seguinte:
NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("pt","BR"));
String valor = nf.format(1234.56789);
Caso você não queira o R$ na frente do número faça o seguinte:
NumberFormat nf = NumberFormat.getNumberInstance(new Locale("pt","BR"));
String valor = nf.format(1234.56789);
Olá pessoal, é isso mesmo, porém tem 1 probleminha… estou utilizando struts 2, então não sei como passar pra view (JSP) a tal variavel a ser mostrada… no caso tenho uma action que faz 1 busca do tal produto pelo id e joga numa variavel, então na view mostro por EL os resultados… segue o exemplo:
[code]public class VerLivroAction {
private Long id ;
private Livros livro ;
private String livrete ;
@Action(value="verLivro", results={
@Result(name="ok", location="/ver-livro.jsp")
})
public String execute() {
livro = new LivrosDAO().procura(id) ;
NumberFormat nf = NumberFormat.getNumberInstance(new Locale("pt", "BR")) ;
livrete = nf.format(livro.getPreco()) ;
return "ok" ;
}
public String getLivrete() {
return livrete;
}
public Livros getLivro() {
return livro;
}
public void setId(Long id) {
this.id = id;
}