GARANTIR DESCONTO

Fórum Calculo de Multiplicação em JavaScript #594358

22/05/2018

0

Preciso fazer um calculo de porcentagem sobre um valor, porém dependendo do numero a ser calculado (se houver dizima periodica no resultado por exemplo) o resultado é arredondado e nao apresenta casas decimais, exemplo:

(estou calculando por 1.05 porque equivale a um acréscimo de 105%)

11.114,37 * 1.05 = 11.6697 (Por que sem casas decimais?)

11,11 * 1.05 = 11.55 (O correto seria 11,66)

Ou seja... O calculo está errado e as vezes nem aparece casas decimais.. Preciso dos resultados corretos com apenas 2 casas decimais. Onde estou errando? Por favor me ajudem!

<html>
<head>

</head>
<body>
        <form action="" method="">


								
<label for="usuario">  Valor: </label>


<input class="form-control"   name="PO4R_ORCADO" id="PO4R_ORCADO" type="text"   onblur="percentual();" >

                            
<input class="form-control"name="PO4R_MAIS1" id="PO4R_MAIS1" type="text"  >                                
        </form>
</body>
</html>

<script type="text/javascript">

function percentual() {	

    var p105 = "1.05";
    var p110 = "1.10";
    var p115 = "1.15";    
    var vl_fr1 = document.getElementById("PO4R_ORCADO").value;	//1.114,37
    
 var a1 = parseFloat(vl_fr1)*parseFloat(p105);
 //Multiplica 1.114,37 * 1.05
 
 var a2 = parseFloat(vl_fr1)*parseFloat(p110); 
 var a3 = parseFloat(vl_fr1)*parseFloat(p115);    
 
document.getElementById('PO4R_MAIS1').value = a1; 
// resultado = 11.6697 na calcyladora do windows da 11.670,08

}

</script>
Alexandre

Alexandre

Responder

Post mais votado

22/05/2018

Boa tarde.
Neste caso como voce esta usando a virgula(,)
quando você usa o parseFloat ele apenas pega o numero 11 em vez do 11,11.

E isto não ocorre no 1.05 pois você esta usando o ponto.

var p105 = "1.05";
var p110 = "1.10";
var p115 = "1.15";   


Neste caso ele vai manter o 1.05

se no seu teste você usar 11.11 usando o ponto como separador você vai ver que vai dar certo.

Leandro Chiodini

Leandro Chiodini
Responder

Gostei + 2

Mais Posts

19/06/2018

Calebe Menezes

Olá Alexandre, você conseguiu sanar sua dúvida?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar