Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Caros colaboradores;
estou com o seguinte problema, quero fazer um calculo de porcentagem, tenho uma função js que pega os valores digitados no input, realiza a operação e em seguida ERA PARA RETORNAR UM RESULTADO.
segue o codigo?:
***<script language="javascript">***
function calcular()
{
var icms = parseFloat(document.getElementById("icms").value.replace(",", "."));
var valornota = parseFloat(document.getElementById("valornota").value.replace(",", "."));
var icmstotal = icms * (valornota/100);
document.getElementById("icmstotal").value = icmstotal;
alert(icmstotal);
}
</script>
Com esse codigo a função so esta pegando os primeiros valores antes do 1º ponto (.)
Quando eu tiro os REPLACES e / ou ParseFloats, a função recebe os valores certos, mas não gera um resultado e sim um erro: NaN not a number
Alguem pode ajudar a solucionar esse problema.
O que eu to querendo eh o seguinte: a operação com os valores no formato moeda. ex: 1.000,00
Obrigadooo
Bom cara.. eu acredito que seja melhor você mandar os numeros para a conta SEM a formatação, pois vale lembrar que JavaScript, foi escrita "em inglês".. então o sistema de virgulas e pontos é diferente..
por exemplo, nosso separador de centavos é a virgula, e para os americanos é o ponto.
100,00 = Cem reais para nós brasileiros.
100.00 = Cem reais para os americanos idiotas.
E assim tb, o separador de milhares deles é a virgula..
Então, retire a formatação antes de mandar para o calculo, e depois coloque ela novamente.
Tiu uiLL
Eh, assim da forma que voce falou da certo sim, eu jah tinha feito funcionar assim.
Mas, para ficar mais visível ao cliente, pensei em colocar a formatação em moeda, porque estou falando de dinheiro.
valewww
sabe como fazer para permanecer a formatação?
mais alguémm!!
Então cara, a idéia é formatar após fazer os cálculos.
Eu não sei como fazer, por isso não sugeri nada... mas acho que seja a única alternativa, já que mandar formatado para a soma, teremos um erro.
Deixa eu explicar melhor o porque de ter esses numeros formatados antes e depois dos cálculos.
O programa funciona assim: o usuário digita o porcentual de desconto e também digita o valor da nota, dai o resultado será o (X% de VLR).
Ao digitar os valores nos inputs, eles jah vão formatando as casas decimais. Pois assim fica mais fácil identificar o número digitado.
como fazer para o javascript tirar os "pontos" e "virgulas" existentes no numero e realizar o calculo com o numero sem formatação...??
digito o numero assim 1.000.000,00 ou 1,000,000.00, mas gostaria que ele interpretasse assim 1000000
pois quando eu tento fazer o calculo com os numeros no formato moeda, o resultado eh NaN
como devo proceder?
Sou moderador do fórum de WS, não manjo muito de Javascript..
mas o proprio replace te resolve isso.
<script>
function calcula() {
var icms = document.getElementById('icms').value.replace(",",".");
var valorNota = document.getElementById('valorNota').value.replace(",",".");
var icmsTotal = document.getElementById('icmsTotal');
//var total = icms * (valorNota/100);
var total = icms * valorNota;
alert(total);
icmsTotal.value = total;
icmsTotal.value = icmsTotal.value.replace(".",",");
}
</script>
</head>
<body>
<form id="form1">
<input type="text" id="icms" />
<input type="text" id="valorNota" />
<input type="text" id="icmsTotal" />
<input type="button" value="Aqui" onclick="calcula()" />
</form>
</body> Vê se é isso ai.
Putzz.. ninguém se deparou com algo parecido com isso?? ou preciso explicar mais alguma coisa do meu problema??
ajudemmmmm