Décimale javascript et arrondi

Signaler
Messages postés
3
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
29 octobre 2006
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
[infomsg_DECIMAL-JAVASCRIPT_788565.aspx#2
]Bonjour, je suis en train de faire un formulaire javascript. Mon problème est que celui-ci calcule trop bien, en effet il s'affiche avec trop de décimales, j'ai essayé les math.round mais n'arrive pas à le mettre en place.
Si quelqu'un peut m'aider, merci d'avance

voici mon javascript

<script language="JavaScript">
    function calcule()
     {
     var ca;
     var ff;
     var fg;
     ca=document.nombres.caht.value;
     ff=document.nombres.ffht.value;
     fg=ca*0.10;
     ms=ca-ff-fg;
     sb=ms*0.62;
     cp=sb*0.45;
     cs=sb*0.20;
     sn=ms-cs-cp;
     rff=ff;
     rn=Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff);
     taux=rn/ca;
     document.nombres.fg.value=fg +"?";
     document.nombres.ms.value=ms +"?";
     document.nombres.sb.value=sb +"?";
     document.nombres.cp.value=cp +"?";
     document.nombres.cs.value=cs +"?";
     document.nombres.sn.value=sn +"?";
     document.nombres.rff.value=rff +"?";
     document.nombres.rn.value=rn +"?";
     document.nombres.taux.value=taux +"%";
     }
    
</script>

Paco66

8 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,

   lus sur selfhtml  ,une doc ( n'importe la quelle, mais une doc
         est indispensable ! ) en français, téléchargeable.
<hr />
<html><head><title>Test</title>
</head>
<form name="Test" action="">

</form>
</html>

<hr />
<html><head><title>Test</title>
</head>
<script type="text/javascript">
<!--
var valeur = 7123.203848;
document.write(valeur.toFixed(2));
//-->
</script>
</html>
<hr />







<hr />
                  Cordialement       Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
3
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
29 octobre 2006

Merci pour la réponse Bultez mais ne comprends pas, après de moultes essais et recherches google, je n'arrive pas à mettre la fonction en place je joins le script en entier avec le on click,

<title>1</title>
<script language="JavaScript">
    function calcule()
     {
     var ca;
     var ff;
     var fg;
     ca=document.nombres.caht.value;
     ff=document.nombres.ffht.value;
     fg=ca*0.10;
     ms=ca-ff-fg;
     sb=ms*0.62;
     cp=sb*0.45;
     cs=sb*0.20;
     sn=ms-cs-cp;
     rff=ff;
     rn=Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff);
     taux=rn/ca;
     document.nombres.fg.value=fg +"?";
     document.nombres.ms.value=ms +"?";
     document.nombres.sb.value=sb +"?";
     document.nombres.cp.value=cp +"?";
     document.nombres.cs.value=cs +"?";
     document.nombres.sn.value=sn +"?";
     document.nombres.rff.value=rff +"?";
     document.nombres.rn.value=rn +"?";
     document.nombres.taux.value=taux +"%";
     }
    
</script>
</head>

<form name="nombres">         
    ----

        1,
        Chiffre d' Affaire Hors Taxe,
        &nbsp;,
               

       ,
       
    ----

        2,
        Frais de Fonctionnement,
        &nbsp;,
               

       ,
   
    ----

        3,
        Frais de gestion (calcul sur 10%),
        &nbsp;,
               
            
       ,
   
    ----

        &nbsp;,
        &nbsp;
        ou
       
       
       

       ,
        &nbsp;,
        &nbsp;,
   
    ----

        4,
        Masse salariale = 1-(2+3),
        &nbsp;,
       
       

       
   
    ----

        5,
        Salaires brut(dont congés payés, prime de précarités,
        etc...),
        &nbsp;,
               
       
       
       ,
   
    ----

        6,
        Charges patronale (environ 45% de 5),
        &nbsp;,
               
       
       ,
   
    ----

        7,
        Charges salariales (environ 20% de 5),
        &nbsp;,
               
       
       ,
   
    ----

        8,
        Salaire Net,
        &nbsp;,
               
       
       
       ,
   
    ----

        9,
        Remboursement frais de fonctionnement,
        &nbsp;,
                ,
   
    ----

        10,
        Total de la Rémunération Nette du Négociateur,
        &nbsp;,
               

       ,
   
    ----

        11,
        Taux de Rémunération Nette du Négociateur,
        &nbsp;,
               

       ,
   
   

</html>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
<html>
<title>1</title>
<script type= "Text/JavaScript">
    function calcule()
     {
  var ca=document.nombres.caht.value;
  var ff=document.nombres.ffht.value;
  var fg=ca*0.10;
  var ms=ca-ff-fg;
  var sb=ms*0.62;
  var cp=sb*0.45;
  var cs=sb*0.20;
  var sn=ms-cs-cp;
  var rff=Number(ff);
  var rn=Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff);
  var taux=rn/ca;
  document.nombres.fg.value=fg.toFixed(2) +"?";
  document.nombres.ms.value=ms.toFixed(2) +"?";
  document.nombres.sb.value=sb.toFixed(2) +"?";
  document.nombres.cp.value=cp.toFixed(2) +"?";
  document.nombres.cs.value=cs.toFixed(2) +"?";
  document.nombres.sn.value=sn.toFixed(2) +"?";
  document.nombres.rff.value=rff.toFixed(2) +"?";
  document.nombres.rn.value=rn.toFixed(2) +"?";
  document.nombres.taux.value=taux.toFixed(2) +"%";
     }
    
</script>
</head>




<form name="nombres">         
    ----

        1,
        Chiffre d' Affaire Hors Taxe,
        &nbsp;,
               

       ,
       
    ----

        2,
        Frais de Fonctionnement,
        &nbsp;,
               

       ,
   
    ----

        3,
        Frais de gestion (calcul sur 10%),
        &nbsp;,
               
       ,
   
    ----

        &nbsp;,
        &nbsp;
   
        ou
       
       
       

       ,
        &nbsp;,
        &nbsp;,
   
    ----

        4,
        Masse salariale = 1-(2+3),
        &nbsp;,
       
       

       
   
    ----

        5,
        Salaires brut(dont congés payés, prime de précarités,
        etc...),
        &nbsp;,
               
       
       
       ,
   
    ----

        6,
        Charges patronale (environ 45% de 5),
        &nbsp;,
               
       
       ,
   
    ----

        7,
        Charges salariales (environ 20% de 5),
        &nbsp;,
               
        
       ,
   
    ----

        8,
        Salaire Net,
        &nbsp;,
               
        
       
       ,
   
    ----

        9,
        Remboursement frais de fonctionnement,
        &nbsp;,
                ,
   
    ----

        10,
        Total de la Rémunération Nette du Négociateur,
        &nbsp;,
               

       ,
   
    ----

        11,
        Taux de Rémunération Nette du Négociateur,
        &nbsp;,
               

       ,
   
   

</html>

de mémoire d'Alzheimer, ajouté Number, viré Readonly=1 ( c'est readonly tout seul ),
   mis en rouge....
les float:left ne servent pas à grand chose ?
plutôt que les style= et font... mettre class= ou mieux (?) : css sur la balise
probablement nombreuses variables inutiles....




<hr />
                  Cordialement       Bul    [
mon Site
]    [
=Bul
M'écrire

]
<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,
j'ajouterais que
var rn=Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff);
   ne me plais pas beaucoup....
   mais chacun ses goûts, et les vaches seront bien gardées...
<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
et encore une remarque oubliée...
   ne pas mettre de noms de variables = name des html.
<hr />
            Cordialement       Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
3
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
29 octobre 2006

Merci beaucoup Bul,



ça fait 3/4 jours que je galérais avec,
en revanche pour le var rn=Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff); je n'ai trouvé que ça pour faire la somme des 2 champs en numérique (si tu as une autre solution avec plaisir je suis à l'écoute), et au sujet de "ne pas mettre de noms de variables = name des html" là j'avoue que je ne comprends pas, petite explication peut-être ??
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
<hr />

var rn= Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff);
:
met sn dans document.nombres.sn.value et rff dans document.nombres.rff.value
puis additionne les 2 contenus ( .value ) vers rn




s'il faut mettre à jour les .value (?!?)  je préfère.



    document.nombres.sn.value=sn;
    document.nombres.rff.value=rff;
       var rn=sn+rff;    ou    
       var rn=Number(document.nombres.sn.value)+Number(document.nombres.rff.value);



 et même ( pour sn.value ) : document.nombres.sn.value=ms-cs-cp;...
  ce qui éviterait la variable sn...

   mais chacun fait comme il le sent.

<hr />
name et variables =



tu utilises des variables sn, rff... et des champs s'apppellent sn,rff...
 var sn=ms-cs-cp;
 c'est unique, commence par une lettre,
ne contient que des lettres, des chiffres, _  

** met un champ du même name qu'une function et tente d'appeler
     cette function par exemple.

<hr />
                        Cordialement       Bul    [
mon Site
]    [
=Bul
M'écrire

]
<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
<hr />

var rn= Number(document.nombres.sn.value=sn)+ Number(document.nombres.rff.value=rff);
:
met sn dans document.nombres.sn.value et rff dans document.nombres.rff.value
puis additionne les 2 contenus ( .value ) vers rn







s'il faut mettre à jour les .value (?!?)  je préfère.



    document.nombres.sn.value=sn;
    document.nombres.rff.value=rff;
       var rn=sn+rff;    ou    
       var rn=Number(document.nombres.sn.value)+Number(document.nombres.rff.value);



 et même ( pour sn.value ) : document.nombres.sn.value=ms-cs-cp;...
  ce qui éviterait la variable sn...

   mais chacun fait comme il le sent.

<hr />
name et variables =






tu utilises des variables sn, rff... et des champs s'apppellent sn,rff...
 var sn=ms-cs-cp;
 c'est unique, commence par une lettre,
ne contient que des lettres, des chiffres, _  

** met un champ du même name qu'une function et tente d'appeler
     cette function par exemple.

<hr />
                        Cordialement       Bul    [
mon Site
]    [
=Bul
M'écrire

]
<hr />