Somar valores com números reais

Java

26/09/2015

Pessoal boa noite,
Achei esse código na net, mas a princípio ele resolvia meu caso. Logo ao tentar calcular valores maiores por exemplo: a soma 100.000,00 + 100.000,00 + 100.000,00 daria como resultado 300.000,00. Com a execução deste código o resultado é R$ 300.
Alguém poderia me guiar na solução deste problema?
Grato...


<html>
<head>
<script type="text/javascript">
function id( el ){
return document.getElementById( el );
}
function getMoney( el ){
var money = id( el ).value.replace( ',', '.' );
return parseFloat( money )*100;
}
function soma()
{
var total = getMoney('campo1')+getMoney('campo2')+getMoney('campo3');
id('campo4').value = 'R$ '+total/100;
}
</script>
</head>
<body>
<form action="" method="">
<input name="campo1" id="campo1" value="100.000,00" />

<input name="campo2" id="campo2" value="100.000,00" />

<input name="campo3" id="campo3" value="100.000,00" />

<input name="campo4" readonly="readonly" id="campo4" />

<input type="button" onclick="soma()" value="Soma de Valores" />
</form>
</body>
</html>
Telson

Telson

Curtidas 0

Respostas

Telson

Telson

26/09/2015

Olá pessoal, alguém pode me ajudar? Sou novo iniciante e não entendo muita coisa de html e javascript. Espero ser ajudado aqui neste fórum.
Valeuu...
GOSTEI 0
Israel Suhanko

Israel Suhanko

26/09/2015

olá, Telson!
Tente usar o tipo Long no lugar do Float e veja se resolve o problema.
GOSTEI 0
Israel Suhanko

Israel Suhanko

26/09/2015

Nesse link tem uma explicação detalhada para a questão. Espero
GOSTEI 0
Israel Suhanko

Israel Suhanko

26/09/2015

Esse link trata detalhadamente seu problema. Espero que ajude.

https://battisti.wordpress.com/2007/03/08/arredondar-formatando-e-desformatando-valores-em-javascript/
GOSTEI 0
POSTAR