Jump to content
kelvim

Lógica de calculo de porcentagem

Recommended Posts

Boa tarde,

 

Preciso de ajuda com o seguinte problema:

 

tenho uma quantidade x de pessoas, o sistema calcula de acordo com algumas metas um valor percentual para cada pessoa.

Ex: A = 30, B=50,C=7 e D=3 ->  Obs: sempre vai ser distribuído 100%

 

Acontece que pode ser que o usuário especifique um valor fixo para um deles

 

EX D sempre vai ser 10

Isso quer dizer que será preciso redistribuir o valor excedente/faltante entre os demais, considerando a proporção.

 

Espero ter conseguido explicar corretamente o problema, Agradeço se alguém ajudar.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By unset
      Olá, estou elaborando a lógica para desenvolver um sistema de agendamento em PHP, ele consiste em salvar no banco os horários disponíveis que uma empresa pode funcionar,
       
      Por exemplo, certos dias de semana pode ou não ter horários liberados, assim como certos dias, nesses períodos em cada faixa de horário pode ter diferentes quantidades de clientes que podem fazer um agendamento de acordo com a quantidade do horário.
       
      Por exemplo na empresa 1 = de Segunda a Sexta das 07:00h até as 22:00h tem horário, Sábado e Domingo Fechado
      Por exemplo na empresa 2 = Só atende Sábado e Domingo das 13:00 as 00:00h e é fechado nos outros dias
      Em cada um desses horários tenho que salvar a quantidade de pessoas que podem ser atendidas por exemplo
       
      Empresa 1 =  Segunda 7:00h = 4 vagas
      Empresa 1 = Terça 18:00h = 2 vagas
      Empresa 1 = Sexta 19:00h = 0 vagas - indisponível
       
      Empresa 2 =  Sábado 17:00h = 0 vagas - indisponível
      Empresa 2 = Sábado18:00h = 5 vagas
      Empresa 2 = Domingo 20:00h = 6 vagas
       
      Pensando em uma forma que acho pouco convencional e pouco lógica, criaria um formulário com vários e vários campos de todos os dias da semana com todos os horários disponíveis e quantidades pra ser colocada como na imagem em anexo, e salvaria no formato json no banco assim por exemplo 
       
      Coluna: agendamentoDiasSemanaHorarios
       
      {"1":{"ativo":"0","horarios":{"07:00":7,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"2":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"3":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"4":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"5":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"6":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"7":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}}}
       
      Então no caso se 1 ativo quer dizer que segunda pode ter horários agendados, aí vem a lista gigante de horários exemplo 07:00 e em seguida a quantidade de pessoas no caso 7
       
      Estou com dificuldade para elaborar uma logica mais simples que funcione, 
       
      Se alguém tiver uma ideia e possa ajudar, uma opinião de como faria, agradeço muito.
       
       

    • By DuRodrig
      Pessoal, bom dia! 
      Estou fazendo uma página com um cálculo simples de porcentagem.
      Existe um formuário que coloco o valor da venda, a comissão é fixa em 13% e a tarifa é um valor que você coloca também.
      Exemplo: (valor da venda) R$ 100,00 - (comissão 13%) - (tarifa) R$ 8,50 = (resultado) R$ 78,50, só que está gerando o resultado de R$ 79,00.
      Como faço para corrgir esse problema?
      Segue o código:

       
      $(function(){ $('#valorVenda').on('input', function() { calculate(); }); $('#tarifa').on('input', function() { calculate(); }); function calculate(){ var pPos = parseFloat($('#valorVenda').val()); var tar = parseFloat($('#tarifa').val()); var result = " "; if(isNaN(pPos) || isNaN(tar)){ }else{ result = ((pPos - ((13.00 * pPos) / 100.00)) - tar).toFixed(2); } $('#total').val(result); } });  
      Desde já agradeço.
    • By biakelly
      Oi, vim do fórum de PHP,  eu havia postado uma dúvida lá, mas acredito e por recomendação que minha dúvida seja melhor aplicada aqui.
       
      Bem, estou fazendo uma página que precisa ter a cotação do Bitcoin.
      Nesta pagina preciso de 2 inputs um que traga o preço do bitcoin e outro que traga o preço em real.
      Ex: 1 Bitcoin custa R$ xxx,00 reais (valor padrão)
       
      Mas ao digitar R$100,00 no campo real ele precisa trazer o preço equivalente a quantidade de Bitcoins que vale R$100,00
      O mesmo para o Bitcoin, se eu digitar uma fração ele precisaria trazer o valor em Reais.
       
      Encontrei um site que faz isso (https://dolarhoje.com/bitcoin-hoje/), mas queria algo para minha página parecido
       
       
      Bem, até consigo pegar o valor com este código simples em PHP:
       
      <?php $url = 'https://www.mercadobitcoin.net/api/btc/ticker'; $result = file_get_contents($url); $result = json_decode($result, true); ?>  
      Será que em Javascript é possível fazer isso? Desculpem, entendo quase zero de Javascript
      Vocês conseguem me ajudar?
    • By cesaroet
      <?php $variavel = 'teste, teste2, teste 3'; $indice = explode(',', $variavel); foreach ($indice as $indice) { ?> <span>Capítulo</span> <input type="text" name="indice[]" value="<?php echo $indice; ?>" required> <?php } ?> A duvida é o seguinte, como faço para que em "Capitulo" mostre uma sequencia de numeros de acordo com $variavel, exemplo...
      capitulo 1, capitulo 2, capitulo 3...
      Cada 1 com seu valor, ja tentei varias coisas, mas nao estou conseguindo, ajuda por favor
    • By BrazucaBostero
      Olá!
       
      Estou com uma dúvida daquelas sobre um código de calculo de desconto no javascript, abaixo segue o código
       
      JS
      function calcValor() { //Declarando as variaveis let preco, porcentagem, desconto, novopreco; //Obtendo dados atraves do prompt preco = parseFloat(document.getElementById("CAMPO_87").value); porcentagem = parseFloat(document.getElementById("CAMPO_85").value); alert(preco) document.getElementById("CAMPO_88").value = preco; alert(preco) //Realizando os calculos desconto = preco * porcentagem / 100; novopreco = preco - desconto; //O .toFixed(2) faz com que o valor seja corrijdo para duas casas decimais document.getElementById("CAMPO_88").value = novopreco; } HTML
      <div class="row"> <div class="col-md-2"><label class="a3label control-label" for="CAMPO_87">Valor da Mensalidade</label> <input class="a3formcontrol form-control" data-campo-id="@@87@@" data-nome="87 - Valor Mensalidade" data-tipo-documental-id="3" id="CAMPO_87" oninput="calcValor()" type="text" /> </div> <div class="col-md-2"><label class="a3label control-label" for="CAMPO_85">Bolsa (%)</label> <input class="a3formcontrol form-control" data-campo-id="@@85@@" data-nome="85 - Bolsa (%)" data-tipo-documental-id="3" id="CAMPO_85" oninput="calcValor()" type="text" /></div> </div> <div class="row"> <div class="col-md-2"><label class="a3label control-label" for="CAMPO_88">Mensalidade Final</label> <input class="a3formcontrol form-control" data-campo-id="@@88@@" data-nome="88 - Valor Mensalidade (F)" data-tipo-documental-id="3" id="CAMPO_88" type="text" oninput="calcValor()" /></div>  
       
      O que acontece, tenho 2 problemas, que estou a quase 1 semana e não consigo resolver
       
       
      Quando jogo somente o valor do campo mensalidade, ele deveria teoricamente aparecer no campo mensalidade final, independente ou não de haver desconto, porém para minha surpresa ele aparece exatamente igual a imagem abaixo
       

       
       
      E minha outra dúvida é sobre a questão de , e .
      Quando calculo desconto com , por exemplo. 2314,50, ele arredonda e quando coloco 2314.50, ele me da o valor exato. Alguém pode me dar uma luz? Desde já fico agredecido
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.