Máscara de saída no text box ["pra fechar o balão"]

4 respostas
F

Senhores,

Através do código abaixo, capturo uma string passada através de um campo formatado com javascript no meu textbox. O usuário digita por exemplo 1.231,00 (o ponto e vírgula são colocados automaticamente). Depois converto para BigDecimal e gravo no BD. Ok. E como faço agora para retornar com esse valor para o textbox? Com seus respectivos ponto e vírgulas? Alguem tem algum javascript pata isso? Obrigado.

import java.math.BigDecimal;

class Dinheiro {
    public static void main(String[] args) {
 
        String myString = "1.250,35";
        String newString = new String();
        
        double moeda;
        BigDecimal dinheiro;
        
       for(int i = 0 ; i &lt myString.length() ; i++ ) {
          if( myString.charAt(i) == '.' ) {
            newString += "";
          } else if( myString.charAt(i) == ',' ){
          	newString += ".";
          	
          	
          	}else {
            newString += myString.charAt(i);
         }
       }
       
        dinheiro = new BigDecimal(newString);
        System.out.println("a nova string eh----&gt "+newString);
        moeda = Double.parseDouble(newString);
        System.out.println("o novo valor eh----&gt "+moeda);
        System.out.println("o novo dinheiro(BigDecimal) eh----&gt "+dinheiro);        
          }
        }

4 Respostas

furutani

Faça essa formatação com JSTL no JSP

<fmt:formatNumber value="${ variavelNaRequest }"  maxFractionDigits="2"
F

furutani, valeu, mas não trablho com JSTL. Existe algum outro modo?

furutani

Então use o DecimaFormat mesmo
http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html

F

furutani, obrigado…não era isso mas você me deu uma outra idéia.
peguei o BigDecimal(1235.54)

apliquei a máscara.

NumberFormat nf = new DecimalFormat("###,###,##0.00");

e retornou o valor----&gt 1.235,54

vou pegar esse valor e colocar no textbox.

Valeu.

Criado 6 de dezembro de 2006
Ultima resposta 6 de dez. de 2006
Respostas 4
Participantes 2