Décimale javascript et arrondi

cs_paco66 Messages postés 3 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 29 octobre 2006 - 28 oct. 2006 à 18:28
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 29 oct. 2006 à 18:18
[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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 oct. 2006 à 10:57
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 />
0
cs_paco66 Messages postés 3 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 29 octobre 2006
29 oct. 2006 à 13:38
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>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 oct. 2006 à 14:28
<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 />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 oct. 2006 à 14:33
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 />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 oct. 2006 à 14:35
et encore une remarque oubliée...
   ne pas mettre de noms de variables = name des html.
<hr />
            Cordialement       Bul    [mon Site]    [M'écrire]
<hr />
0
cs_paco66 Messages postés 3 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 29 octobre 2006
29 oct. 2006 à 14:58
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 ??
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 oct. 2006 à 18:16
<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 />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 oct. 2006 à 18:18
<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 />
0
Rejoignez-nous