Guest Marcel Dottore Postado Setembro 13, 2004 Denunciar Share Postado Setembro 13, 2004 Galera, bom diaEu gostaria de fazer um tratamento de uma entrada em um formulário, gostaria de poder mostrar números com duas casas decimais.Por exemplo:Entrada do Usuário: 100 ou 100.1;Saída em tela: 100,00 ou 100,10Como eu faço para ter uma função em Javascript que faça isso?Agradeço qualquer ajuda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Crystian Postado Setembro 13, 2004 Denunciar Share Postado Setembro 13, 2004 Vou te passar uma solução um pouco inviavél. function verificaValor(nome){ VALOR = getValue(nome); VALOR = tiraPonto(VALOR); setValue(nome, VALOR); valida = 'true'; } function FormataVALOR(nome, cpVir){ VALOR = getValue(nome); qtd = VALOR.length; if(qtd > 0){ for(a=qtd; a>0; a--){ pv = 0; if(VALOR.substring(a-1,a) == '.' || VALOR.substring(a-1,a) == ','){ pv = a; a = 0; } } if(pv == 0){ zeros = ','; for(i=0; i < cpVir; i++){ zeros += '0' } if(VALOR.length > 3)VALOR = colocaPonto(VALOR.length, VALOR); VALOR = VALOR+zeros; } else { depoisVir = VALOR.substring(pv, qtd);//aqui mexe-se com as casas após a vírgula. zeros = ''; if(depoisVir.length < cpVir){ for(b=depoisVir.length; b < cpVir; b++) zeros += '0'; } else if(depoisVir.length > cpVir) alert('Você excedeu as casas após a vírgula permitido'); depoisVir = depoisVir+zeros; // aqui mexe-se com as casas antes da vírgula. av = VALOR.substring(0,pv-1); av = Limp(av); ant = av.length; variavel = av; for(j=0; j < ant; j++){ if(av.substring(j,j+1)=='0')variavel = variavel - av.substring(0,1); else j = ant; } av = ''+variavel; ant = av.length; if(ant == 0){ antesVir = '0'; }else{ if(ant < 4){ antesVir = av; } else { antesVir = colocaPonto(ant, av); } } VALOR = antesVir+','+depoisVir; } setValue(nome, VALOR); } } function tiraPonto(c) { while((cx=c.indexOf("."))!=-1) { c = c.substring(0,cx)+c.substring(cx+1); } return(c); } function colocaPonto(ant, av){ //av = av; mod = ant%3; if (ant < 7){ if(mod==0)a = av.substring(0,3)+'.'+av.substring(3,6); if(mod==1)a = av.substring(0,1)+'.'+av.substring(1,4); if(mod==2)a = av.substring(0,2)+'.'+av.substring(2,5); } else { if(ant < 10){ if(mod==0)a = av.substring(0,3)+'.'+av.substring(3,6)+'.'+av.substring(6,9); if(mod==2)a = av.substring(0,2)+'.'+av.substring(2,5)+'.'+av.substring(5,8); if(mod==1)a = av.substring(0,1)+'.'+av.substring(1,4)+'.'+av.substring(4,7); } else { if(ant < 13){ if(mod==0)a = av.substring(0,3)+'.'+av.substring(3,6)+'.'+av.substring(6,9)+'.'+av.substring(9,12); if(mod==2)a = av.substring(0,2)+'.'+av.substring(2,5)+'.'+av.substring(5,8)+'.'+av.substring(8,11); if(mod==1)a = av.substring(0,1)+'.'+av.substring(1,4)+'.'+av.substring(4,7)+'.'+av.substring(7,10); }else{ if(mod==0)a = av.substring(0,3)+'.'+av.substring(3,6)+'.'+av.substring(6,9)+'.'+av.substring(9,12)+'.'+av.substring(12,15); if(mod==2)a = av.substring(0,2)+'.'+av.substring(2,5)+'.'+av.substring(5,8)+'.'+av.substring(8,11)+'.'+av.substring(11,14); if(mod==1)a = av.substring(0,1)+'.'+av.substring(1,4)+'.'+av.substring(4,7)+'.'+av.substring(7,10)+'.'+av.substring(10,13); } } } return a; } Cara existem funções mais simples e que tambem te ajudarão, mas no momento estou te passando essa que não é a ideal. Aquela primeira function eu acho q tah sobrando, mas eu utilizei em algum caso que não me recordo agora, de repente sirva pra alguma coisa pra ti.AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Marcel Dottore
Galera, bom dia
Eu gostaria de fazer um tratamento de uma entrada em um formulário, gostaria de poder mostrar números com duas casas decimais.
Por exemplo:
Entrada do Usuário: 100 ou 100.1;
Saída em tela: 100,00 ou 100,10
Como eu faço para ter uma função em Javascript que faça isso?
Agradeço qualquer ajuda
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.