Mascara valor ao digitar

Pessoal alguem ae tem um exemplo de como eu mascaro um valor em real enquanto o usuario digita… igual a caixa eletronico… o primeiro numero q ele digitar vira centavos, e cada numero digitado vai entrando a direita e a virgula sendo posicionada no lugar certo imagina o cara vai digitar essa sequencia de numeros 156324

primeira tecla
00,01
segunda tecla
00,15
terceira tecla
01,56
quarta tecla
15,63
quinta tecla
156,32
sexta tecla
1563,24

e a mesma coisa para qdo eu vou apagando… a medida q eu tiro um numero ele joga a casa decimal para a esquerda… entendeu??

valeu

se a tua opção for uma aplicação web talvez a melhor opção seja vc trabalhar com taglibs mais o evento onkeyup do javascript.

:smiley:

acho que essa vai te ajudar

function mascaraValorMonetario(strNumero, sepDecimalIni, sepDecimalFim, sepMilhar)
    {
        strNumero += '';
        var dpos = strNumero.indexOf(sepDecimalIni);
        var strNumeroFim = '';
        if (dpos != -1) {
                strNumeroFim = sepDecimalFim + strNumero.substring(dpos + 1, strNumero.length);
                strNumero = strNumero.substring(0, dpos);
        } else {
            strNumeroFim = sepDecimalFim + "00";
        }
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(strNumero)) {
                strNumero = strNumero.replace(rgx, '$1' + sepMilhar + '$2');
        }
        return strNumero + strNumeroFim;
    }   

//la no seu html:text ou sei la oque vc faz assim

 <html:text property="field(-manter-valor)" styleId="manterValor"
              styleClass="TEXT" size="20" maxlength="14"
              onkeypress="return mascaraValorDecimal(this,'.',',',2,event,14)"

vc vai precisar fazer algumas alterações mas é isso ae…