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 :

Arrondi a 5 centimes près


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Points : 180
    Points
    180
    Par défaut Arrondi a 5 centimes près
    Rebonjour,

    J'ai une petite question, j'ai fait une page pour créer des factures. Maintenant j'arrive au totaux. Et je souhaiterais savoir comment je pourrais faire un arrondi au 5 centimes près?

    Merci d'avance

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    passe en euro
    je
    ((a/5).toFixed(0.01)*5).toFixed(0.01)

  3. #3
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Points : 180
    Points
    180
    Par défaut
    Merci pour vos réponse. Mais j'ai essayé les deux manières mais ça ne fonctionne pas.

    Les voicis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    somme = prix_unitaire * quantite;
    somme = ((somme/5).toFixed(0.01)*5).toFixed(0.01)
    document.getElementById("somme").value = somme;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    somme = prix_unitaire * quantite;
    document.getElementById("somme" + position).value = math.round(somme * 100)/100;
    merci d'avance

  5. #5
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    somme=5.03;
    somme = ((somme/5).toFixed(2)*5).toFixed(2) ;
    alert(somme);
    oups

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    y'a pas un truc dans la faq là dessus .... ??

    c'est d'ailleurs là que j'ai dû trouver ce script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script type='text/javascript'>
    function ExactRound(a,b,e){
    a=String(a)
    b=String(b)
    var deci=( a.split('\.')[1].length > b.split('\.')[1].length )?a.split('\.')[1].length:b.split('\.')[1].length;
    var c= Number(a) + Number(b);
    var expo= (Math.pow(10,deci))
    var result=((Math.round(c*expo)/expo).toFixed(e));
    return result;
    }
    </script>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Points : 180
    Points
    180
    Par défaut
    C'est parfait tout fonctionne correctement

    J'aurais juste deux questions:

    Ou trouvez vous de la documentations sur toutes les fonctions javascript?

    Est-ce que quelqu'un pourrait m'expliquer comment ce code

    ((somme/5).toFixed(2)*5).toFixed(2)

    fonctionne exactement, car ça marche, mais j'aimerais bien savoir comment

    Merci encore bcp

  8. #8
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par krfa1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    somme = prix_unitaire * quantite;
    document.getElementById("somme" + position).value = math.round(somme * 100)/100;
    Oui, alors 100, c'est pour arrondir au centième (à 1 centimes) pour arrondir à 5, tu fais un petit effort de math et tu adaptes

  9. #9
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par krfa1
    Est-ce que quelqu'un pourrait m'expliquer comment ce code
    ((somme/5).toFixed(2)*5).toFixed(2)
    /5 -> car les arrondi se font à 10 puissance -n près.
    .toFixed(2) arrondi à 0.01 près
    *5 -> pour retouver la valeur de départ (à 0.01*5=0.05 arrondi près)
    .toFixed(2) car après la multiplication le javascript est capable de mettre des valeurs telles que xxxxx.x499999999999999999999

  10. #10
    Membre habitué
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Points : 180
    Points
    180
    Par défaut
    Ah ok. C'est un peu plus claire comme ça. Merci bcp pour votre précieuse aide

    A tout bientot

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

Discussions similaires

  1. Comment faire un arrondi à 0.5 prés ?
    Par alex830001 dans le forum Excel
    Réponses: 4
    Dernier message: 18/04/2017, 15h49
  2. Arrondir à 5 centimes près
    Par paselo dans le forum IHM
    Réponses: 20
    Dernier message: 26/09/2010, 17h55
  3. Arrondi à 0.01 près
    Par Invité dans le forum Ada
    Réponses: 2
    Dernier message: 28/01/2009, 11h04
  4. formule d'arrondi au 1/2 près
    Par pyrene dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 19/05/2008, 11h30
  5. nombres flottants arrondis aux 5 centimes
    Par nstubi dans le forum Langage
    Réponses: 3
    Dernier message: 17/09/2004, 09h02

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