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

Moeda - Cálculos Com Formato Moeda


Milena

Pergunta

Dúvida de iniciante

Estou usando esta função PARA FORMATAR VALORES EM MOEDA ( consegui aqui no portal mesmo!) :

function Formata(campo,tammax,teclapres,decimal) {
var tecla = teclapres.keyCode;
vr = Limpar(campo.value,"0123456789");
tam = vr.length;
dec=decimal

if (tam < tammax && tecla != 8){ tam = vr.length + 1; }

if (tecla == 8 )
{ tam = tam - 1; }

if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
{

if ( tam <= dec )
{ campo.value = vr; }

if ( (tam > dec) && (tam <= 5) ){
campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ); }
if ( (tam >= 6) && (tam <= 8) ){
campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); 
}
if ( (tam >= 9) && (tam <= 11) ){
campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
if ( (tam >= 12) && (tam <= 14) ){
campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
if ( (tam >= 15) && (tam <= 17) ){
campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam );}
} 

A função está funcionando perfeitamente....

Nos inputs onde são digitados os valores está assim:

onKeyDown="Formata(this,20,event,2)"

mas preciso fazer cálculos com os valores digitados.... e mostrar esses resultados em um input , não sei como posso chamar a função, para formatar os valores dos resultados... uma vez q estes são enviados pela função....

já tentei onChange ... e não funcionou ....

Desculpem pela mensagem imensa .... espero que possa me ajudar

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Então ... não consegui fazer essa função ...

pego os valores assim dos inputs:

v3=eval("document.cadastro.cpmf.value");
fazendo as contas assim :
num1=[parseFloat(som)*parseFloat(v3)]/100;
Retornando os valores assim para os imputs:
document.cadastro.taxaAdm.value=num1;

QUERIA INSERIR UMA FUNÇÃO ANTES DE ENVIAR O VALOR DA RESULTADO PARA O INPUT....

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...