Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PRWEB

[Resolvido] Máscara Monetário

Recommended Posts

Tudo bem pessoal?

 

Estou com uma dúvida de como eu faço para colocar uma mascara monetária nos meus campos que contem valores, pois na tabela do banco de dados eu tempo campos que estão como DECIMAL 18,2.

Quando eu gravo na tabela ele grava assim 21.600,00 quando clico no campo da tabela ele mostra 21600.

Gostaria de saber como q no campo do meu formulário eu consigo visualizar ele assim 21.600,00?

 

Eu to utilizando uma função para fazer cálculos, tem como utilizar essa função?

 

function ponto_dec(N){        
 texto = N.value.toString();
 texto2 = "";
 if (texto.indexOf('.') != -1)
 {
   for (var i = 0; i < texto.length; i++)
   {
     if(texto.charAt(i) == ".")
      texto2 += ".";
     else
      texto2 += texto.charAt(i);
   }
   texto = texto2;
  }

 //texto[texto.indexOf(',')] = ".";
 ponto = texto.indexOf('.');

 if (ponto == -1)
 {
   texto += ".00";
   Term = texto;
 }
 else
 {
   texto += "0";
   decimal = ponto + 3;
   Term = texto.substring(0,decimal);
 }

 if (Term == "0.0")
  Term = "0.00";

 if (Term == ".00")
  Term = "0.00";

return Term;
//N.value = Term;
}

Obrigado,

 

:unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sou novo em programação.

 

Mas com asp eu consigo utilizar ele?

 

Para mim no campo no formulário volta assim 18 e não 18.00.

 

Obrigado,

 

:unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu gravo na tabela ele grava assim 21.600,00 quando clico no campo da tabela ele mostra 21600.

 

Não entendi o ato de clicar na tabela. Você está usando o Access e quando clica na linha ele altera o valor?

 

E quando os valores da tabela são jogados nos campos do formulário, os valores são retornados como 21600 também?

 

Se for, há funções em ASP que ajeitam isso...

 

Vou esperar a resposta para mover o tópico ou ver como fazer em JavaScript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo

 

Quando eu entro na tabela vou até o campo v_unitario ele mostra 21.600,00 se clico 2 vezes no campo ele muda para 21600 pois está como DECIMAL 18,2, no meu formulário ele mostra a mesma coisa no campo v_unitario 21600.

Por isso que to precisando de uma máscara que faça ele mostrar no campo do formulário 21.600,00.

 

Muito Obrigado,

 

:unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece-me que o problema maior é no Access pelo visto.

Eu já quebrei muito a cabeça com algumas conversões de formato. Então, até que em um belo dia eu desisti de atender ao pedido do Banco de Dados e passei a seguir os meus pedidos.

 

Exemplo: Datas em geral.

Nunca mais salvo como: AAAAMMDD, ou então AAAA-MM-DD.

Recuperar isso depois é a maior dor de cabeça para quem tem muita, muita pressa!

 

Há quem goste, ou prefira fazer assim... eu não! Eu faço diferente e não me dá problemas. Pelo contrário, facilita muito minha vida. Eu salvo as datas sempre como Timestamp e, na hora de jogar na página, eu crio uma funçãozinha simples e rápida, com algumas letras, utilizando a função date() do PHP, para deixar a data como eu quiser!

 

Além disso, somar, subtrair ou obter a diferença entre as datas torna-se muito mais fácil.

 

No seu caso eu faria o mesmo. Tiraria esse formato que você utilizou e deixaria como string. Na hora de salvar, eu salvaria como:

nnnnnnnnnnnnnn,nn e não como nnn.nnn.nnn.nnn,nn;

 

Isso reduz o código, reduz o risco de erros, melhora a velocidade de criação do sistema, facilita as contas, etc.

Tudo bem, o ideal seria armazenar no formato aceito pelo Banco, eu sei... mas não faço.

 

Na verdade, eu gosto muito de JavaScript e não sou tão bom com SQL ou linguagem server-side. Por isso, muitos poderão me criticar por isso... mas criticando ou não, continuarei fazendo da maneira mais simples e mais rápida... que não me dá problemas!

 

Pergunta:

Como os valores estão sendo retornados nos campos do formulário?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Eu consegui fazer a mascára monetária em asp, segue:

 

<input name="soma" type="text" class="forma_pag11" id="soma" value="<%=FormatCurrency(soma,2)%>" size="10">

 

Ai ele aparece R$ 256.000,25

 

Se alguém precisar é so colocar a forma acima com o Session.LCID = 1046 'BRASIL no começo da página.

 

Muito obrigado pela ajuda.

 

Valew

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.