Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arrondir décimale

Question bête surement

Sujet résolu
    11 mars 2010 à 11:58:37

    Bonjour à tous !

    Je cherche un moyen d'adapter ce code en JS que j'ai réalisé en lui demandant d'arrondir le résultat à 2 chiffres après la virgule.

    Voici le code :

    $(document).ready(function(){
        
        $(function(){
        $("#EstimationDistance, #EstimationTemps, #EstimationCoefficient, #EstimationPrix").bind('click',function(){
            var res = $('#EstimationDistance').val() * $('#EstimationTemps').val() * parseFloat($('#EstimationCoefficient').val());
            $('#EstimationPrix').val(res);
        })
    });
    });
    


    Vous connaissez la fonction ?

    J'ai essayé roundNumber mais sans résultat ... :(

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      11 mars 2010 à 13:28:46

      j'ai essayé ceci :

      $(document).ready(function(){
          
          $(function(){
          $("#EstimationDistance, #EstimationTemps, #EstimationCoefficient, #EstimationPrix").bind('click',function(){
              var res = $('#EstimationDistance').val() * $('#EstimationTemps').val() * parseFloat($('#EstimationCoefficient').val());
              $('#EstimationPrix').val(res.toFixed(2) );
          })
      });
      });
      


      Sans résultats ... :(

      Pour Math Round, j'y ai pensé mais le problème c'est qu'il me retourne seulement l'entier... :/
      • Partager sur Facebook
      • Partager sur Twitter
        11 mars 2010 à 13:35:11

        Si tu fais un alert(res+' : '+typeof res); entre 5 et 6 ça t'affiche quoi ?


        toFixed() devrait fonctionner ! >_<
        • Partager sur Facebook
        • Partager sur Twitter
          11 mars 2010 à 13:40:23

          Mes nouveaux essais :

          $(document).ready(function(){
              
              $(function(){
              $("#EstimationDistance, #EstimationTemps, #EstimationCoefficient, #EstimationPrix").bind('click',function(){
                  var res = $('#EstimationDistance').val() * $('#EstimationTemps').val() * parseFloat($('#EstimationCoefficient').val());
                  $('#EstimationPrix').val(Math.round(res*100)/100);
              })
          });
          });
          


          ou

          $(document).ready(function(){
              
              $(function(){
              $("#EstimationDistance, #EstimationTemps, #EstimationCoefficient, #EstimationPrix").bind('click',function(){
                  var res = $('#EstimationDistance').val() * $('#EstimationTemps').val() * parseFloat($('#EstimationCoefficient').val());
                  $('#EstimationPrix').val(res*100, Math.round, res/100);
              })
          });
          });
          


          C'est à devenir fou ...

          Le calcul réalisé 55*33*1.1

          Résultat : 1996.5000000000002

          Sans résultat non plus :(

          EDIT : @ Golmote --> je n'ai pas compris ce que tu voulais que je fasse
          • Partager sur Facebook
          • Partager sur Twitter
            11 mars 2010 à 13:44:16

            Citation : Golmote

            Si tu fais un alert(res+' : '+typeof res); entre les lignes 5 et 6 ça t'affiche quoi ?



            Si j'oublie des mots, en effet...
            • Partager sur Facebook
            • Partager sur Twitter
              11 mars 2010 à 13:56:11

              parseFloat(parseInt(res*100)/100)
              • Partager sur Facebook
              • Partager sur Twitter
                11 mars 2010 à 14:05:40

                apparemment la page devait certainement être mise en cache car grâce à l'alert, je me suis rendu compte que le script n'avait pas été actualisé (aucune alerte n'était affichée)

                Ta solution fonctionne réellement Golmote !

                Merci à tous !

                Résolu !! :)
                • Partager sur Facebook
                • Partager sur Twitter

                Arrondir décimale

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown