comparacao de valor digitado
Prezados, tenho uma função que pega o valor digitado e traqnsforma para notação monetaria (pontuação).
Agora eu preciso pegar esse valor e verificar se ele é maior que determinado valor, exemplo se digitei "19.000,00" e o valor a ser comparado é de "20.000,00" ele entra na condição.
Preciso verificar se está sendo passado corretamente os dados da moeda também, porem isso ja verifiquei e sim, esta sendo passado.
Na minha função
function formataValorMonetario2(){
var posicaoPontoDecimal;
var campo = '';
var resultado = '';
var pos,sep,dec;
var testedig="";
var campooriginal= document.getElementById('valor_adiantamento').value;
var moeda= document.getElementById('moeda').value;
var decimais='2';
var nacional="20.000,00";
var usdolar="11.500,00";
var euroue="8.000,00";
//Retira possiveis separadores de milhar
for (pos=0; pos < campooriginal.length; pos++)
{
if (campooriginal.charAt(pos)!='.')
campo = campo + campooriginal.charAt(pos);
}
//Formata valor monetário com decimais
posicaoPontoDecimal = campo.indexOf(',');
if (posicaoPontoDecimal != -1)
{
sep = 0;
for (pos=posicaoPontoDecimal-1;pos >= 0;pos--)
{
sep ++;
if (sep > 3)
{
resultado = '.' + resultado;
sep = 1;
}
resultado = campo.charAt(pos) + resultado;
}
// Trata parte decimal
if (parseInt(decimais) > 0 )
{
resultado = resultado + ',';
pos=posicaoPontoDecimal+1;
for (dec = 1;dec <= parseInt(decimais); dec++)
{
if (pos < campo.length)
{
resultado = resultado + campo.charAt(pos);
pos++;
}
else
resultado = resultado + '0';
}
} // trata decimais
}
// Trata valor monetário sem decimais
else
{
sep = 0;
for (pos=campo.length-1;pos >= 0;pos--)
{
sep ++;
if (sep > 3)
{
resultado = '.' + resultado;
sep = 1;
}
resultado = campo.charAt(pos) + resultado;
}
// Trata parte decimal
if (parseInt(decimais) > 0 )
{
resultado = resultado + ',';
for (dec = 1;dec <= parseInt(decimais); dec++)
{
resultado = resultado + '0';
}
} // trata decimais
}
campooriginal.value = resultado;
testedig=resultado;
//VERIFICAÇÃO DE VALORES ALÇADA DE REGRA DE NEGÓCIO
alert('original='+campooriginal+' moeda'+moeda+' digitado'+testedig+' nacional'+nacional);
if(moeda=="R$"){
if(testedig >= "20.000,00"){
alert("Maior");
document.getElementById('regra').style.display = "inline";
}
else{
alert("Menor");
document.getElementById('regra').style.display = "none";
}
}
if(moeda=="$USD"){
if(testedig >= "11.500,00"){
alert("Maior");
document.getElementById('regra').style.display = "inline";
}
else{
alert("Menor");
document.getElementById('regra').style.display = "none";
}
}
if(moeda=="€"){
if(testedig >= "8.000,00"){
alert("Maior");
}
else{
alert("Menor");
document.getElementById('regra').style.display = "none";
}
}
}
Alguem pode me dar uma luz no que esta acontecendo?
Discussão (1)
Carregando comentários...