Ir para conteúdo
thvinicius

Pegar o restante das casas decimais e realizar uma conversão

Recommended Posts

Sou bem leigo em javascript, mas acho que dá para fazer isso nesta linguagem. Tentei de uma forma bem trivial, mas não obtive sucesso. Basicamente tenho um sistema que converte a quantidade em kg para caixas de biscoitos, por exemplo:

 

<form id="bisc_salg" class="box_Branco">
<p class="desc_item"> Biscoito Salgado Cream Cracker </p>
  <input type="text" placeholder="Qtde." class="qtde_Req" id="multiplicando3" onChange="bisc_salg();"> 
  <input type="text" class="invisible" id="multiplicador3" readonly="readonly" value=4.8 onChange="bisc_salg();"> =
  <input type="text" class="retorno" id="resultado3" readonly="readonly"> caixas
</form>
function bisc_salg(){
	p3 = document.getElementById("multiplicando3").value;
	p4 = document.getElementById("multiplicador3").value;
	r = p3/p4;
	document.getElementById("resultado3").value = r.toFixed(3);
	}

Vamos supor que eu tenha 14.8 kg e jogando nesse sistema eu obtenho: 3.083 que significa 3 caixas inteiras e um pacote de biscoito. Ou seja, cada pacote tem 400 gramas. Como eu pego esse resto da casa decimal e converto em pacotes? Mais ou menos teria que retornar:

3 caixas e 1 pacote.

Os dados resumidos são: Cada caixa tem 12 pacotes de biscoitos e 4.8 Kg; cada biscoito tem 400 gramas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o motivo de tantos imputs então vou simplificar,

No html: Como você quer usar numeros quebrados optei por deixar o imput no valor de text, se quiser depois pode fazer um tratamento para so receber numeros nesse campos

<form id="bisc_salg" class="box_Branco">
<p class="desc_item"> Biscoito Salgado Cream Cracker </p>
  <input type="text" placeholder="Kgs" id="kilos" onChange="bisc_salg()"> =
  <span id= "caixas"></span> caixas <span id= "pacotes"></span>
</form>

No javascript:

-Bom você pode declarar um spam no meio do texto do html e depois mudar o conteúdo dele selecionando a id com o querySelector eu prefiro fazer assim vai de cada um

  var caixas = document.querySelector('#caixas');
  var pacotes = document.querySelector('#pacotes');
  var r;
function bisc_salg(){
  //aqui eu peguei os quilos que voce digitou no imput
  var p3 = document.getElementById("kilos").value;
  p3 = parseFloat(p3); //conversao do imput que veio no formato de string
  var resto = (p3/0.4)%12; //aqui se acha o resto
  r = (p3/0.4)/12; //aqui se calcula quantos pacotes vai ter
  caixas.innerHTML=r.toFixed(0).toString();
  //if para decidir se vai ter o valor dos pacotes ou nao
  //se uma caixa so cabem 12 entao o resto so pode ser 12 no maximo
  //e preciso arredondar depois da conversao pois com qualquer valor acima de 11 melhor e usar outra caixa
 if (Math.round(resto)!=12){
  pacotes.innerHTML=' e '+Math.round(resto).toString()+ ' pacotes';
 }
}

A maior dificuldade desse problema e a logica mesmo, de resto e bem simples.

 

imput: 9.6 saida: 2 caixas

imput: 14.8 saida: 3 caixas e 1 pacotes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.