Ir para conteúdo

POWERED BY:

Arquivado

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

nlopes

Cálculos com numeros em formato moeda

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putzz.. ninguém se deparou com algo parecido com isso?? ou preciso explicar mais alguma coisa do meu problema??

 

ajudemmmmm

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

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.