Ir para conteúdo

Arquivado

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

Eduardo_555

mascara de moeda!

Recommended Posts

Olá saudaçoes

 

A umas semanas atras pedia ajuda aki no forum para criar uma mascara de moeda, fui ajudado, peguei a mascara analizei, dei uma modificada pois meu codigo calcula coissas, porem agora quando vou calcular ele da erro, simplesmente se for pra soma, funciona as virgulas ficam no lugar certo, mas basta multiplicar, que e o meu caso vou ter q multiplicar, ele da erro, e coloca a virgula no lugar errado,\\

 

EXEMPLO

 

se por 2,00 pra multiplicar com 2,00 ele resulta em 400,00

 

e nao 4,00 como deveria. vou por o codigo oque sera que ta acontecendo ja revisei o codigo mas nn consegui achjar o ero.

 

 
 
 
<html>
<head>
 
 
</head>
<body>
 
<script language="javascript">
 
//calcula as moedas
function calcularMoeda(){
var valor1 = document.getElementById("txtValor1").value; //pego o value do textbox1
var valor2 = document.getElementById("txtValor2").value; //pego o value do textbox1
 
//removo os pontos e virgulas para calcular o valor
valor1 = valor1.replace(".", ""); //removo os pontos
valor1 = valor1.replace(",", ""); //removo as virgulas
 
valor2 = valor2.replace(".", ""); //removo os pontos
valor2 = valor2.replace(",", ""); //removo as virgulas
 
valor1 = parseFloat(valor1); //transform em float
valor2 = parseFloat(valor2); //transform em float
var resultado = valor1 * valor2; //calculo as moedas
 
resultado = MascaraMoedaValue("" + resultado + "",'.',','); //transformo em moeda novamente
 
alert(resultado);
}
 
//mascara para numeros completos
function MascaraMoedaValue(valor, SeparadorMilesimo, SeparadorDecimal){
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
 
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = valor.length;
for(i = 0; i < len; i++)
if ((valor.charAt(i) != '0') && (valor.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(valor.charAt(i))!=-1) aux += valor.charAt(i);
len = aux.length;
if (len == 0) valor = '';
if (len == 1) valor = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) valor = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
valor = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
valor += aux2.charAt(i);
valor += SeparadorDecimal + aux.substr(len - 2, len);
 
return valor;
}
return false;
}
 
//mascara para numeros a serem digitados
function MascaraMoedaInput(objTextBox, SeparadorMilesimo, SeparadorDecimal, 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;
key = String.fromCharCode(whichCode); // Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = objTextBox.value.length;
for(i = 0; i < len; i++)
if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) objTextBox.value = '';
if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
objTextBox.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
objTextBox.value += aux2.charAt(i);
objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
}
return false;
}
</script>
<form>
Valor 1 R$: <input type="text" name="valor1" id="txtValor1" onKeyPress="return(MascaraMoedaInput(this,'.',',',event))">
Valor 2 R$: <input type="text" name="valor2" id="txtValor2" onKeyPress="return(MascaraMoedaInput(this,'.',',',event))">
<button type="button" onclick="calcularMoeda()">Calcular</button>
</form>
 
 
</body>
</html>
 

aguardo ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo, tudo bem? foi até eu que te ajudei com esse código no inicio. faz um teste ai coloca. 2,50 * 2,50 e veja se irá imprimir o resultado esperado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo, tudo bem? foi até eu que te ajudei com esse código no inicio. faz um teste ai coloca. 2,50 * 2,50 e veja se irá imprimir o resultado esperado.

Olá e verdade foi você mesmo kkk

 

é o seguinte se colocar 2.50 e 2.50 ele multiplica o 250 com 250 e resulta em 625.00

 

vou colocar o código q mudei pois oque vou fazer e isso pegar um valor apenas e multiplicá-lo por para calcular alíquotas, porcentagens

 

de uma olhada

 

fasso o percentual de decrecimo depois diminuo do valor total ate ai tudo bem, o problema e a virgula que sempre vai no lugar errado quando multiplica, se eu somar ai funciona certinho,

 

oque sera?????

<script type="text/javascript">
function calcularMoeda(){
//pego o value do campo1//
var valor1 = document.getElementById("campo1").value; 
 
//remove os pontos  e virgulas//
valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");
 
//transforma em float//
valor1 = parseFloat(valor1); 
 
//realiza os calculos//
var total = valor1; 
var icms = (valor1 * 1.0325-valor1);
var pis = (valor1 * 1.01665-valor1);
var soma = parseFloat(icms) + parseFloat(pis);
 
//transforma em moeda//
total = MascaraMoedaValue("" + total + "",'.',',');
icms = MascaraMoedaValue("" + icms + "",'.',','); 
pis = MascaraMoedaValue("" + pis + "",'.',',');
soma = MascaraMoedaValue("" + soma + "",'.',',');
 
//envia o resultado do calculo para o campo pre setado//
document.getElementById("total").innerText = total;
document.getElementById("icms").innerText = icms;
document.getElementById("pis").innerText = pis;
document.getElementById("soma").innerText = soma;
 
}
 
//mascara para numeros completos
function MascaraMoedaValue(valor, SeparadorMilesimo, SeparadorDecimal){
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
 
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = valor.length;
for(i = 0; i < len; i++)
if ((valor.charAt(i) != '0') && (valor.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(valor.charAt(i))!=-1) aux += valor.charAt(i);
len = aux.length;
if (len == 0) valor = '';
if (len == 1) valor = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) valor = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
valor = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
valor += aux2.charAt(i);
valor += SeparadorDecimal + aux.substr(len - 2, len);
 
return valor;
}
return false;
}
function MascaraMoedaInput(objTextBox, SeparadorMilesimo, SeparadorDecimal, 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;
key = String.fromCharCode(whichCode); // Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = objTextBox.value.length;
for(i = 0; i < len; i++)
if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) objTextBox.value = '';
if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
objTextBox.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
objTextBox.value += aux2.charAt(i);
objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
}
return false;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo faz assim:

var total = valor1; 
var icms = (valor1 * parseFloat(1.0325-total));
var pis = (valor1 * parseFloat(1.0325-total));
var soma = parseFloat(icms) + parseFloat(pis);

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá Eduardo faz assim:

var total = valor1; 
var icms = (valor1 * parseFloat(1.0325-total));
var pis = (valor1 * parseFloat(1.0325-total));
var soma = parseFloat(icms) + parseFloat(pis);

 

Olá sergio blz??

 

Cara e o seguinte, coloquei sua ideia no script mas deu pau, na real nem consegui identificar oque ele realmente calculo mas fiko bugado

 

 

digitei 25,00 pra teste o resultado obtido foi

 

VALOR ICMS: 62.474.187.500.000,01

VALOR PIS CONFINS: 62.474.187.500.000,01

TOTAL DOS IMPOSTO: 124.948.375.000.000,02

 

 

O CORRETO SERIA EXIBIR.

 

VALOR ICMS: 0,81

VALOR PIS CONFINS: 0,42

TOTAL DOS IMPOSTO: 1.23

 

 

pelo q percebi ele esta retirando os pontos e as virgulas do valor digitado com este código

 

//remove os pontos  e virgulas//
valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");

depois era pra passar para float, ou seja era pra continuar 25.00 e multiplicar pelo 1.0325.

 

porem axo que ele esta pegando o 2.50 e transformando em 2500 e multiplicando pelo 10325

 

ai ta dando erro ao usar a mascara de moeda ta identificando como se o valro fosse diversos milhoes.

 

ve oque tua acha??

 

vou por o codigo como fico com a alteraçao.

 

 

<script type="text/javascript">
function calcularMoeda(){
//pego o value do campo1//
var valor1 = document.getElementById("campo1").value; 


//remove os pontos  e virgulas//
valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");


valor1 = parseFloat(valor1);


//realiza os calculos//
var total = valor1; 
var icms = (valor1 * parseFloat(1.0325-total));
var pis = (valor1 * parseFloat(1.0325-total));
var soma = parseFloat(icms) + parseFloat(pis);


//transforma em moeda//
total = MascaraMoedaValue("" + total + "",'.',',');
icms = MascaraMoedaValue("" + icms + "",'.',','); 
pis = MascaraMoedaValue("" + pis + "",'.',',');
soma = MascaraMoedaValue("" + soma + "",'.',',');


//envia o resultado do calculo para o campo pre setado//
document.getElementById("total").innerText = total;
document.getElementById("icms").innerText = icms;
document.getElementById("pis").innerText = pis;
document.getElementById("soma").innerText = soma;


}


//mascara para numeros completos
function MascaraMoedaValue(valor, SeparadorMilesimo, SeparadorDecimal){
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';


if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = valor.length;
for(i = 0; i < len; i++)
if ((valor.charAt(i) != '0') && (valor.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(valor.charAt(i))!=-1) aux += valor.charAt(i);
len = aux.length;
if (len == 0) valor = '';
if (len == 1) valor = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) valor = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
valor = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
valor += aux2.charAt(i);
valor += SeparadorDecimal + aux.substr(len - 2, len);


return valor;
}
return false;
}
function MascaraMoedaInput(objTextBox, SeparadorMilesimo, SeparadorDecimal, 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;
key = String.fromCharCode(whichCode); // Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = objTextBox.value.length;
for(i = 0; i < len; i++)
if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) objTextBox.value = '';
if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
objTextBox.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
objTextBox.value += aux2.charAt(i);
objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
}
return false;
}

outra coisa, sera que nao pode ser erro na hora de enviar o resultado para aparecer na tela, tipo calcula ai quando eu envio com esta parte do código

//envia o resultado do calculo para o campo pre setado//
document.getElementById("total").innerText = total;
document.getElementById("icms").innerText = icms;
document.getElementById("pis").innerText = pis;
document.getElementById("soma").innerText = soma;

ELE PODE estar juntando o resultado com lixo que esta na memoria e exibindo o lixo??

 

Ajuda ai se possivel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa tarde sérgio!!

 

Se eu entendi oque você quer dizer, fiz certo.

 

fiz o seguinte teste, coloquei um campo para exibir como o valor1 esta entrando [para o calculo, ou seja para me mostrar oque ele esta usando para calcular, ele esta entando sem ponto nem virgula ai esta o erro, na minha singela opniao.

 

tipo se digitar 25.00 ele entra 2500 para o calculo

 

que multiplicado pelo 1.0325

 

2581.25 menos o valor de entrada 2500 era para resultar no valor certo 81.25

 

mas nn da ele resulta em um numero absurdo

 

ja nn sei mais oque fasso.

 

se tem alguma outra ideia de onde esta o problema???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo, coloque novamente para retirar pontos e virgulas e tente desta maneira:

 

valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");

valor1 = parseFloat((valor1/100).toFixed(2));

//realiza os calculos//
var icms = (valor1 * (valor1 - 1.0325));
var pis = (valor1 * (valor1 - 1.0325));
var soma = icms + pis;
Eu fiz o teste e funcionou, só da uma checada tbm no seu calculo de ICMS, veja se está correto.
@edit:
ICMS em SP acho que é 9% n tenho certeza:
var icms = valor1*9/100;

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara fiz o codigo aki mas ainda esta bugado, dai decidi fazer um teste de mesa no papel pra ver, a logica esta correta na minha opniao.

 

pensa cmgo.

 

o usuario vai digitar: 25,00

 

o codigo vai retiraros os pontos e as virgulas, vai fikar : 2500

 

coloquei o codigo que vc disse, onde pegamos o valor e dividimos: 2500/100.toFixed(2)

 

vai resultar em 25,00 novamente.

 

 

dai entra no calculo

 

icms = 25,00*1.0325: 25.8125

 

se diminuir do 25.00 novamente: 0.8125 coloca o toFixed(2) e pronto era pra tar resolvido mas aki nao funciona nao

 

 

quando entra no calculo ele e multiplica ele colaoca a virgula no lugar errado,

 

25..00*1.0325=2.581,25

 

repara acho q o problema agora esta no ponto,

 

vou por o codigo como fiko, mas so pra consta estou mechendo aki pra ver se encontro a soluçao

 

oque se acha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@edit: adicione o toFixed antes de converter e não no calculo.

tenta assim:

icms = MascaraMoedaValue("" + icms.toFixed(2) + "",'.',','); 
pis = MascaraMoedaValue("" + pis.toFixed(2) + "",'.',',');
soma = MascaraMoedaValue("" + soma.toFixed(2) + "",'.',',');

Compartilhar este post


Link para o post
Compartilhar em outros sites

dae isso ja ta dando dor de cabeça kkkk

 

coloquei sua ideis do to fixed, oque ocorre agora e que ele inverte o calculo, primeiro subtrai depois multiplica resolvi isso dividindo em duas linhas, porem ele dica dando resultado como false, ainda nao sei oque e mais acho que e a mascara se nao me engano,

 

por conta desta parte ,

if (strCheck.indexOf(key) == -1) return false; // Chave inválida

mesmo assim ele nao resulta em resultado certo,

 

function calcularMoeda(){
//pego o value do campo1//
var valor1 = document.getElementById("campo1").value; 


//remove os pontos  e virgulas//
valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");


//realiza os calculos//
var icms = (valor1*1.0325);
var icms = ((valor1-valor1)/100);
var pis = (valor1 * (valor1 - 1.0325)/100);
var soma = icms + pis;


//transforma em moeda//
total = MascaraMoedaValue("" + total + "",'.',',');
icms = MascaraMoedaValue("" + icms.toFixed(2) + "",'.',','); 
pis = MascaraMoedaValue("" + pis.toFixed(2) + "",'.',',');
soma = MascaraMoedaValue("" + soma.toFixed(2) + "",'.',',');


//envia o resultado do calculo para o campo pre setado//
document.getElementById("total").innerText = total;
document.getElementById("icms").innerText = icms;
document.getElementById("pis").innerText = pis;
document.getElementById("soma").innerText = soma;

Fis esta modificaçao mas nn funciona, se voce tiver uma ideia melhor, que funcione

 

eu agradeco porque as minhas modificaçoes estao chegando em lugar nenhum e em coisaa alguma..

 

 

outra coisa

 

voce sabe algum livro bom, o site em portugues de preferencia, pra estudar javascript???

Compartilhar este post


Link para o post
Compartilhar em outros sites

ATUALIZANDO FIZ OUTRA MODIFICAÇAO

var icms = (((valor1*1.0325)-valor1));

Desta forma funciona, porem preciso dividir por 100, e quando dividir ele resulta em centavos, que e o correto, dai ele nao coloca o resultado ele imprimi false.

 

acho eu que é esta linha


if (strCheck.indexOf(key) == -1) return false; // Chave inválida

será que e isso???

 

Obs: se resulta em 1.00r$ ele mostra correto o problema sao os centavos agr kkkk ta quase

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eduardo, você esqueceu de uma coisa, você está dividindo o valor1/100 dentro do calculo, e la eu fiz antes.

 

valor1 = parseFloat((valor1/100).toFixed(2));

 

//depois de convertido agora sim faz as operações.

function calcularMoeda(){
//pego o value do campo1//
var valor1 = document.getElementById("campo1").value; 


//remove os pontos  e virgulas//
valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");

valor1 = parseFloat((valor1/100).toFixed(2));

//realiza os calculos//
var icms = (valor1*1.0325);
var pis = (valor1 * (valor1 - 1.0325));
var soma = icms + pis;


//transforma em moeda//
icms = MascaraMoedaValue("" + icms.toFixed(2) + "",'.',','); 
pis = MascaraMoedaValue("" + pis.toFixed(2) + "",'.',',');
soma = MascaraMoedaValue("" + soma.toFixed(2) + "",'.',',');


//envia o resultado do calculo para o campo pre setado//
document.getElementById("icms").innerText = icms;
document.getElementById("pis").innerText = pis;
document.getElementById("soma").innerText = soma;

Um detalhe nos seus calculos, eu removi o total, pois vc n usa em nenhum momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa sergio blz, valeu cara, se ajudou bastante mas ja consegui, esquentei a cabeça e fiz uma gambiarrinha hehe vou postar pra voce ver como fiko.

 

e o total, eu uso para imprimir na pagina, tem uma lista que mostra valor total, o icms o pis e o confins, e so pq nao tem que faser calculos, mas ele aparece la sim.

 

olha como fiko so fui na mascara onde estava falando para que se o o primeiro numero fosse zero retornar false, ai coloquei para retornar o valor,

 

<script type="text/javascript">
function calcularMoeda(){
//pego o value do campo1//
var valor1 = document.getElementById("campo1").value; 


//remove os pontos  e virgulas//
valor1 = valor1.replace(".", "");
valor1 = valor1.replace(",", "");


//realiza os calculos//
var total = valor1;
var icms = ((valor1*1.0325)-valor1);
icms = icms/100;
var pis = ((valor1*1.01665)-valor1);
pis = pis/100;
var soma = icms + pis;


//transforma em moeda//
total = MascaraMoedaValue("" + total + "",'.',',');
icms = MascaraMoedaValue("" + icms.toFixed(2) + "",'.',','); 
pis = MascaraMoedaValue("" + pis.toFixed(2) + "",'.',',');
soma = MascaraMoedaValue("" + soma.toFixed(2) + "",'.',',');


//envia o resultado do calculo para o campo pre setado//
document.getElementById("total").innerText = total;
document.getElementById("icms").innerText = icms;
document.getElementById("pis").innerText = pis;
document.getElementById("soma").innerText = soma;


document.getElementById("total1").innerText = total;
document.getElementById("icms1").innerText = icms;
document.getElementById("pis1").innerText = pis;
document.getElementById("soma1").innerText = soma;


document.getElementById("total2").innerText = total;
document.getElementById("icms2").innerText = icms;
document.getElementById("pis2").innerText = pis;
document.getElementById("soma2").innerText = soma;
}




//mascara para numeros completos
function MascaraMoedaValue(valor, SeparadorMilesimo, SeparadorDecimal){
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';


if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = valor.length;
for(i = 0; i < len; i++)
if ((valor.charAt(i) != '0') && (valor.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(valor.charAt(i))!=-1) aux += valor.charAt(i);
len = aux.length;
if (len == 0) valor = '';
if (len == 1) valor = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) valor = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
valor = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
valor += aux2.charAt(i);
valor += SeparadorDecimal + aux.substr(len - 2, len);


return valor;
}
return valor;
}
function MascaraMoedaInput(objTextBox, SeparadorMilesimo, SeparadorDecimal, 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;
key = String.fromCharCode(whichCode); // Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = objTextBox.value.length;
for(i = 0; i < len; i++)
if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) objTextBox.value = '';
if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
objTextBox.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
objTextBox.value += aux2.charAt(i);
objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
}
return false;
}

Valeu mesmo asism cara. como ja disse se nao fosse voce nem teria conseguido!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
×

Informação importante

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