IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Nombre décimal en JavaScript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2018
    Messages : 2
    Par défaut Nombre décimal en JavaScript
    Hello,
    N'étant pas dev, j'ai bidouillé un bout de code, mais je crois avoir atteins mes limites.

    Je n'arrive pas à afficher les décimales (2) lorsque je calcule.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    <!doctype html>
    <html>
    <head><style type="text/css"></style>
    <meta charset="utf-8"sans bom>
    <title>Tarifs</title>
    </head>
    <body>
    <form name="Tarifs" action="" method="post">
     
    	<p>
    <label for="sports">Sports</label>
    <select  size="1">
     <option value="boxe">Boxe</option>
     <option value="crossfit">CrossFit</option>
     <option value="cyclisme">Cyclisme</option>
     <option value="fitness">Fitness</option>
     <option value="Gymnastique">Gymnastique</option>
     </select>
    		</p>
     
    	<p>
    	<label for="coach">Type de coach</label>
    <select id="coachs"size="1">
     <option value="0" id="coach-pro">Coach professionnel</option>
    </select>
    		</p>
     
     
    <label for="idHT">Nombre de participants</label>
    <select id="idPrix"> onChange="Calcul(this.value,)" size="1"
     <option value="25€">1</option>
     <option value="15€">2</option>
    <option value="11€">3</option>
     <option value="9.25€">4</option>
     <option value="8,60€">5</option>
     <option value="8€">6</option>
    <option value="7.57€">7</option>
     <option value="7€">8</option>
     <option value="30€">Séance privée</option>
    </select>
    <br><br>
    <label for="idTTC">Prix par participant</label>
    <input type="text" name="TTC" id="idTTC" readonly>
     
    	<button id="calc"type="button" onclick="calcPrix();">Calculer</button>
     
    <br><br>
     
     <script type="text/javascript">
    document.getElementById("champ_cache").style.display = "none";
    function afficher(){
    document.getElementById("champ_cache").style.display = "block";
    }
    function cacher(){
    document.getElementById("champ_cache").style.display = "none";
    }
             
             
             function calcPrix(){var coachselect= document.getElementById("coachs");
             var value= coachselect.options[coachselect.selectedIndex].value;
                                    var Prixselect= document.getElementById("idPrix");
                                                     var prixvalue= Prixselect.options[Prixselect.selectedIndex].value;
                                            
            document.getElementById("idTTC").value  =  parseInt(value)+parseInt(prixvalue);  numObj.toFixed(2)
             }
    </script>
    	</form>
     
    	<form name="Tarifs" action="" method="post">
     
    		<p>
    <label for="sports">Sports</label>
    <select  size="1">
     <option value="boxe">Boxe</option>
     <option value="crossfit">CrossFit</option>
     <option value="cyclisme">Cyclisme</option>
     <option value="fitness">Fitness</option>
     <option value="Gymnastique">Gymnastique</option>
     </select>
    			</p>
     
    		<p>
    	<label for="coach">Type de coach</label>
    <select id="coachs2"size="1">
     <option value="0" id="coach-form">Coach en formation</option>
    </select>
     </p>
     
    <label for="idHT">Nombre de participants</label>
    <select id="idPrix2"> onChange="Calcul(this.value,)" size="1"
     <option value="20€">1</option>
     <option value="12.5€">2</option>
    <option value="10€">3</option>
     <option value="8.25€">4</option>
     <option value="7.60€">5</option>
     <option value="7€">6</option>
    <option value="6.43€">7</option>
     <option value="6€">8</option>
     <option value="25€">Séance privée</option>
    </select>
    <br><br>
    <label for="idTTC2">Prix par participant</label>
    <input type="text" name="TTC" id="idTTC2" readonly>
     
    	<button id="calc"type="button" onclick="calcPrix2();">Calculer</button>
     
    <br><br>
     
     <script type="text/javascript">
    document.getElementById("champ_cache").style.display = "none";
    function afficher(){
    document.getElementById("champ_cache").style.display = "block";
    }
    function cacher(){
    document.getElementById("champ_cache").style.display = "none";
    }
             
            function financial(x) {
      return Number.parseFloat(x).toFixed(2);
    } 
            function calcPrix2(){var coachselect= document.getElementById("coachs2");
             var value= coachselect.options[coachselect.selectedIndex].value;
                                    var Prixselect= document.getElementById("idPrix2");
                                                     var prixvalue= Prixselect.options[Prixselect.selectedIndex].value;
                                            
            document.getElementById("idTTC2").value =parseInt(value)+parseInt(prixvalue);    
             } 
    </script>
    	</form>
    </body>
    </html>

    Questions bonus, sauriez vous comment lié les deux formulaire en un seul ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour et bienvenue sur DVP.

    Il te faut utiliser parseFloat(valeur) et non parseInt(valeur)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2018
    Messages : 2
    Par défaut
    Super,

    Merci NoSmoking ça fonctionne.

    Une idée afin de mettre les deux formulaire en un seul ?
    J'aimerais par exemple que le résultat affiche le montant correct en fonction du coach choisi et du nombre de participant. Sachant qu'il n'y a aucun lien mathématique entre les prix des coachs en formation et les coachs pro.

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 095
    Par défaut
    Salut shuggii,

    avec un peu de méthode et de rigueur tu peux y arriver. Je pense que c’est une bonne idée de commencer par déplacer les scripts dans des fichiers externes. Utilise http://jsbeautifier.org/ ou les outils intégrés de Firefox (l’ardoise Maj+F4) pour formater ton code et y voir plus clair. Ensuite, mets les déclarations de fonctions ensemble, et les déclarations de variables ensemble.

    Utilise la console (touche F12) pour voir les problèmes et les messages d’erreur de tes scripts.

    Je te conseille également de déclarer une variable pour chaque élément sélectionné avec getElementById et de les mettre à l’extérieur de tes fonctions. En plus d’être une petite optimisation, ça te permettra d’aérer ton code.

    Enfin, il ne te reste qu’à regrouper tes deux <form> dans le code HTML. À toi de voir si tu veux regrouper les deux actions calcPrix et calcPrix2 sur un seul et même bouton.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] mettre nombre décimal en entier
    Par splouf dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 18/01/2006, 12h20
  2. Réponses: 4
    Dernier message: 21/12/2005, 12h20
  3. [VB.NET] Nombre décimal
    Par Sadneth dans le forum ASP.NET
    Réponses: 8
    Dernier message: 25/11/2005, 12h41
  4. insérer un nombre décimale dans une table
    Par mouloudéen dans le forum Access
    Réponses: 4
    Dernier message: 02/10/2005, 21h29
  5. CRITERIA - Représentation binaire d'un nombre décimal signé.
    Par RamDevTeam dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 10/08/2005, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo