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 :

toFixed(2) oui mais où et comment le mettre.


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2003
    Messages : 11
    Par défaut toFixed(2) oui mais où et comment le mettre.
    Bonjour à toutes et à tous,

    Mon code ci-dessous fonctionnait jusqu'à ce que je cherche à n'avoir que des nombres avec 2 chiffres derrières le séparateur.
    Au travers des différentes lectures, j'ai cru comprendre qu'il suffisait d'utiliser "toFixed(2)" mais à priori, j'ai pas saisi la manière de le mettre en place !
    L'argument "toFixed(2)" est dans le second script. Si je l'enlève sur les 3 lignes, je retrouve mon code précédent qui fonctionne parfaitement mais qui ne formate pas les saisies comme souhaitées ;-(

    Le premier script sert à remplacer une virgule saisie malencontreusement par un point (c'est nickel). Cela n'a rien à voir avec mon problème mais je l'ai laissé pour la cohérence des arguments des inputs.

    J'ai également une seconde question (mais peut-être aurais-je du ouvrir un autre post). Lorsque l'on a 2 fonctions comme c'est le cas, peut-on mettre les 2 fonctions dans un seul script ou faut-il obligatoirement un script par fonction ?

    Je ne pense pas qu'il soit nécessaire de préciser que je ne suis pas un professionnel ;-)
    Je suis même confus de venir avec mon problème à 2 balles et je remercie d'avance celui ou celle qui aura la patience de m'aider.


    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
    <html>
    <head>
    <title>Cotisations : €</title>
     
    <script language="javascript" type="text/javascript">
    function noVirgule(obj)
    {
    obj.value=obj.value.replace(/,/g,'.')
    }
    </script>
     
    <script language="javascript" type="text/javascript"> 
    function CalculRecette() {
    val1 = parseFloat(document.forms[0].elements["Rec_Cotis"].value);
    if (isNaN(val1) == true ) val1=0;
    val2 = parseFloat(document.forms[0].elements["Rec_Sub"].value);
    if (isNaN(val2) == true ) val2=0;
    val3 = parseFloat(document.forms[0].elements["Rec_Organis"].value);
    if (isNaN(val3) == true ) val3=0;
     
    document.forms[0].elements["tot_Rec"].value = val1 + val2 + val3
    }
    </script>
     
    </head>
     
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <form method="post" action="Bilan.php">  
    <p>&nbsp;</p>
    <p>Cotisations :&nbsp;<input type="text" name="Rec_Cotis" id="Rec_Cotis" size="20" style="text-align:right" onkeyup="noVirgule(this);" onchange="CalculRecette();" placeholder="0.00" /></p>
    <p>Subventions :&nbsp;<input type="text" name="Rec_Sub" id="Rec_Sub" style="text-align:right;" onkeyup="noVirgule(this);" onchange="CalculRecette()" placeholder="0.00" /></p>
    <p>Organisations :&nbsp;<input type="text" name="Rec_Organis" id="Rec_Organis" style="text-align:right;" onkeyup="noVirgule(this);" onchange="CalculRecette()" placeholder="0.00" /></p>
    <p>TOTAL RECETTES :&nbsp;<input type="text" name="tot_Rec" id="tot_Rec" style="text-align:right;" size="20"></p>
    <p>&nbsp;</p>
    </form>
     
    <p><input type="submit" value="Envoyer" /></p> 
    </body>
     
    </html>

    Merci
    Daniel

  2. #2
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    jour

    il faut le mettre apres le parseFloat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    val1 = parseFloat(document.forms[0].elements["Rec_Cotis"].value).toFixed(2);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    val1 = parseFloat(document.forms[0].elements["Rec_Cotis"].value);
    val1 = val1.toFixed(2)

  3. #3
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2003
    Messages : 11
    Par défaut
    Bonjour melka one,
    Merci pour t'être penché sur mon pb.
    Je dois vraiment être une bille car aucun de tes codes ne fonctionnent.
    Le 1er concatène les valeurs
    Le second ne semble pas avoir d'action.
    snif...
    Daniel

  4. #4
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    met une alert pour connaitre la valeur de val1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    val1 = parseFloat(document.forms[0].elements["Rec_Cotis"].value);
    alert(val1)

  5. #5
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2003
    Messages : 11
    Par défaut
    En mettant une alert, la val1 me donne bien le nombre que je souhaiterais.
    exemple, si je tape 4, l'alert donne 4.00
    ça c'est nickel mais l'affichage dans le input de la valeur1 reste 4, et surtout le total affiche 4.000.000.00
    Code : 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
    <html>
    <head>
    <title>Cotisations : €</title>
     
    <script language="javascript" type="text/javascript">
    function noVirgule(obj)
    {
    obj.value=obj.value.replace(/,/g,'.')
    }
    </script>
     
    <script language="javascript" type="text/javascript"> 
    function CalculRecette() {
     
    val1 = parseFloat(document.forms[0].elements["Rec_Cotis"].value);
    if (isNaN(val1) == true ) val1=0;
    val1 = val1.toFixed(2)
    alert(val1)
    val2 = parseFloat(document.forms[0].elements["Rec_Sub"].value);
    if (isNaN(val2) == true ) val2=0;
    val2 = val2.toFixed(2)
    val3 = parseFloat(document.forms[0].elements["Rec_Organis"].value);
    if (isNaN(val3) == true ) val3=0;
    val3 = val3.toFixed(2)
     
    document.forms[0].elements["tot_Rec"].value = val1 + val2 + val3
    }
    </script>
     
    </head>
     
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <form method="post" action="Bilan.php">  
    <p>&nbsp;</p>
    <p>Cotisations :&nbsp;<input type="text" name="Rec_Cotis" id="Rec_Cotis" size="20" style="text-align:right" onkeyup="noVirgule(this);" onchange="CalculRecette();" placeholder="0.00" />€</p>
    <p>Subventions :&nbsp;<input type="text" name="Rec_Sub" id="Rec_Sub" style="text-align:right;" onkeyup="noVirgule(this);" onchange="CalculRecette()" placeholder="0.00" />€</p>
    <p>Organisations :&nbsp;<input type="text" name="Rec_Organis" id="Rec_Organis" style="text-align:right;" onkeyup="noVirgule(this);" onchange="CalculRecette()" placeholder="0.00" />€</p>
    <p>TOTAL RECETTES :&nbsp;<input type="text" name="tot_Rec" id="tot_Rec" style="text-align:right;" size="20">€</p>
    <p>&nbsp;</p>
    </form>
     
    <p><input type="submit" value="Envoyer" /></p> 
    </body>
     
    </html>

  6. #6
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    fait comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms[0].elements["tot_Rec"].value = Number(val1) + Number(val2) + Number(val3)

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par danielos Voir le message
    [...] J'ai également une seconde question (mais peut-être aurais-je du ouvrir un autre post). Lorsque l'on a 2 fonctions comme c'est le cas, peut-on mettre les 2 fonctions dans un seul script ou faut-il obligatoirement un script par fonction ? [...]
    On peut y mettre autant de fonctions que l'on veut tant que la taille du script est raisonnable et qu'il y a un lien quelconque entre les fonctions.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

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

Discussions similaires

  1. Débuter, oui, mais comment ?
    Par Idealik dans le forum Débuter
    Réponses: 17
    Dernier message: 13/02/2008, 00h43
  2. [Winsock] Un chat, oui, mais comment ?
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/02/2007, 04h09
  3. [Système] LA OOP, oui mais comment concrètement ?
    Par HALOMOTO dans le forum Langage
    Réponses: 2
    Dernier message: 05/10/2006, 17h43
  4. Les Sprites oui, mais comment?
    Par tametale dans le forum Développement 2D, 3D et Jeux
    Réponses: 16
    Dernier message: 19/06/2006, 09h11
  5. HomeDB, oui mais comment ?
    Par Gregouz dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/10/2004, 15h27

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