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 :

Arrondir à 500


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Points : 64
    Points
    64
    Par défaut Arrondir à 500
    bonjour,
    Je cherche a faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int(x/500+0.5)*500
     
    ex : x= 13 598 --> 13 500
          x = 13 990 --> 14 000
    j'ai trouvez sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function arrondirA500 (n) {
            return n % 500 === 0 && n !== 0 ? n : (n === 0 ? 500 : n - (n % 500) - (n < 0 ? 500 : -500))
          }
    mais da fait:
    Merci pour votre aide

  2. #2
    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 : 73
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function to500( x ){
    	return Math.ceil( x / 500.0 ) * 500.0;
    }

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 091
    Points : 16 642
    Points
    16 642
    Par défaut
    Salut

    cela ne fait que 4 mois que j'utilise JavaScript, mais en essayant d'aide, j’apprends

    @danielhagnoul Math.ceil( x / 500.0 ) * 500.0J'ai un doute, pour moi cela ne donne pas le bon résultat pour 1 des exemples.
    Math.ceil(13598/500.0)*500.0 = 14000 attendu 13500
    Math.ceil(13990/500.0)*500.0 = 14000

    @nlefebvre1 Math.trunc(((x/500)+0.5))*500 donne le bon résultat pour les 2 exemples.

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Math.ceil pour arrondir à l'excès, Math.floor pour arrondir au plancher, Math.trunc pour tronquer la partie décimale, Math.round pour arrondir au plus proche

    Dans le cas présent, je partirais sur

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Points : 64
    Points
    64
    Par défaut
    voila se que j'ai fait et qui marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function arrondirA500(n) {
      return n % 500 === 0 && n !== 0 || n % 500 <  99  ? ( n === 0 ? 500 : n - (n  % 500) ) :  ( n === 0 ? 500 : n - (n  % 500) - (n<0 ? 500 : -500) );
    }

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 091
    Points : 16 642
    Points
    16 642
    Par défaut
    Salut SylvainPV

    OUI ..... OUI, mais pourquoi faire simple quant on peut faire compliqué

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

Discussions similaires

  1. [XL-2003] Arrondir au 500 inférieur
    Par flac1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/10/2014, 20h06
  2. SAGE 500
    Par rabbi dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 24/04/2007, 23h07
  3. Réponses: 8
    Dernier message: 23/10/2003, 16h22
  4. Réponses: 8
    Dernier message: 13/01/2003, 17h45
  5. Réponses: 6
    Dernier message: 28/10/2002, 11h34

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