Ir para conteúdo
Fórum Script Brasil
  • 0

Formatar Campo Monetario Com 4 Casas Decimais


Noodle

Pergunta

Galera,

alguém ai sabe como fazer um campo monetario com 4 casas decimais? Tipo, teria q usar uma mascara e conforme for digitando os valores, ele já vai formatando o valor... tipo do banco do brasil...

Ex:

A mascara seria essa:

0,0000

Vamos supor q o usuario queira entrar com o valor de 25 reais...

Ficaria assim:

25,0000

Além da formatacao, o campo precisaria ser travado... o cursor deveria fica sempre no fim do campo... se o usuario tentar posicionar o cursor no inicio do campo, ele automaticamente volta pro fim do campo impedindo q o usuario faça alguma alteração...

Vlw galera!!! wink.gif

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

O problema é que preciso dessa funcao para amanha... sad.gif

Eu peguei alguns scripts com 2 casas decimais e tentei implementar em 4... mas nem rolou...

você sabe de algum lugar onde eu possa achar essa funçao? Se puder me ajudar, eu agradeceria muito...

Link para o comentário
Compartilhar em outros sites

  • 0

Eu disse que aqui mesmo no portal tinha...mas vou te dar uma pequena ajuda:

<script LANGUAGE="JavaScript">
function currencyFormat(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true;  // Enter
key = String.fromCharCode(whichCode);  // Get key value from key code
if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
len = fld.value.length;
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = '0'+ decSep + '0' + aux;
if (len == 2) fld.value = '0'+ decSep + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 3, len);
}
return false;
}
</script>
E adiciona no OnKeyPress de onde você for colocar:
return(currencyFormat(this,',','',event))

qualquer configura...ou se tiver duvidas, posta ae garoto!

falou.

Link para o comentário
Compartilhar em outros sites

  • 0

Orlando,

Vlw pela ajuda mas infelizmente o script não funcionou... ele esta meio confuso e esta com 6 casas decimais...

Eu precisaria um q tenha uma mascara e utiliza 4 casas decimais... a mascara seria assim:

0,0000

E conforme o usuario fosse digitando os valores, ele ia preenchendo o campo, sabe?? Tipo, se o usuario fosse entrar com o valor de 15 reais...

Ele iria digitar o 1 primeiro ficando assim:

0,0001

Depois entraria com o 5:

0,0015

Depois iria entrando com 0 ate ficar assim:

15,0000

Ssabe de algum script q faça isso???

Link para o comentário
Compartilhar em outros sites

  • 0
como se usa esta função? detalhe mais ela.

Bruno,

como eu disse, wink.gif você adiciona a linha da função no OnKeyPress do campo text.

Vlw pela ajuda mas infelizmente o script não funcionou... ele esta meio confuso e esta com 6 casas decimais...

tongue.gif Foi esta a intenção...pois aqui nós não damos o peixe e sim ensinamos a pescar. biggrin.gif

falou.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...