Ir para conteúdo
Fórum Script Brasil

_LP_

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre _LP_

Perfil

  • Gender
    Male

_LP_'s Achievements

0

Reputação

  1. Fala galera, é uma duvida de logica e de javascript. Para fazer distribuição em % é facil, basta seguir a regra de 3. Porém com arredondamento etc fica com valores errado o final. Então gostaria de saber como garantir que seja dado o valor total correto. Fiz no w3school um exemplo basico, quando acessar basta apagar um numero e colocar dnv que irá calcular: https://www.w3schools.com/code/tryit.asp?filename=FX4YQ74L6C5J Lá tem um exemplo do valor total de contribuição foi 41660 e temos 500 reais. Então dividiria o dinheiro referente ao valor que a pessoa contribuiu. primeira pessoa -> 14765 então 14765*500/41660 ou 14765/41660*500 Essas são as formas do calculo basico, resultado:177 Porém se seguir colocando os valores igual fiz no exemplo: o total distribuído fica 496, ou seja, faltou 4 Como posso garantir que sempre irá distribuir o valor total (no caso seria os 500) ?? Codigo que está no w3school <!DOCTYPE html> <html> <body> <form id="slick-login" onsubmit="return false" oninput="myFunction()"> Total Geral <input id="total" type="number" step="any" value="41660"> <br> Total conseguido <input id="tCon" type="number" step="any" value="500"> <br> 1: <input id="g1" type="number" step="any" value="14765" > => <output id="gb1"></output><br> 2: <input id="g2" type="number" step="any" value="5555" > => <output id="gb2"></output><br> 3: <input id="g3" type="number" step="any" value="5380" > => <output id="gb3"></output><br> 4: <input id="g4" type="number" step="any" value="4965" > => <output id="gb4"></output><br> 5: <input id="g5" type="number" step="any" value="3900" > => <output id="gb5"></output><br> 6: <input id="g6" type="number" step="any" value="3890" > => <output id="gb6"></output><br> 7: <input id="g7" type="number" step="any" value="3205" > => <output id="gb7"></output><br> </form> <script> function myFunction() { var gb1 = parseInt((parseInt(document.getElementById('g1').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb1 > 0) { document.getElementById('gb1').innerHTML = gb1; } var gb2 = parseInt((parseInt(document.getElementById('g2').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb2 > 0) { document.getElementById('gb2').innerHTML = gb2; } var gb3 = parseInt((parseInt(document.getElementById('g3').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb3 > 0) { document.getElementById('gb3').innerHTML = gb3; } var gb4 = parseInt((parseInt(document.getElementById('g4').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb4 > 0) { document.getElementById('gb4').innerHTML = gb4; } var gb5 = parseInt((parseInt(document.getElementById('g5').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb5 > 0) { document.getElementById('gb5').innerHTML = gb5; } var gb6 = parseInt((parseInt(document.getElementById('g6').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb6 > 0) { document.getElementById('gb6').innerHTML = gb6; } var gb7 = parseInt((parseInt(document.getElementById('g7').value)/parseInt(document.getElementById('total').value))*parseInt(document.getElementById('tCon').value)); if (gb7 > 0) { document.getElementById('gb7').innerHTML = gb7; } } </script> </body> </html>
×
×
  • Criar Novo...