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

SAP Discussion :

Arrondi au nombre entier le plus proche


Sujet :

SAP

  1. #1
    Inscrit
    Profil pro
    Consultant SAP
    Inscrit en
    Novembre 2010
    Messages
    335
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Novembre 2010
    Messages : 335
    Points : 147
    Points
    147
    Par défaut Arrondi au nombre entier le plus proche
    Bonjour à Tous,

    j'aurais besoin d'arrondir un nombre décimal en nombre entier le plus proche.

    Pour cela j'utilise la fonction : ROUND.
    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
    FORM f542_round CHANGING l_value TYPE pc2b5-anzhl.
      CALL FUNCTION 'ROUND'
        EXPORTING
          decimals      = 0
          input         = l_value
          sign          = '+'
        IMPORTING
          output        = l_value
        EXCEPTIONS
          input_invalid = 1
          overflow      = 2
          type_invalid  = 3
          OTHERS        = 4.
    ENDFORM .
    Le problème de cette fonction est que je dois spécifier vers quelle valeur je dois effectuer mon arrondi :

    sign = '+', Arrondi Sup

    sign = '-', Arrondi Infé

    Alors, que moi j'aimerais qu'il me le détermine tout seul.

    Exemple, en entrée j'ai :

    l_value = 12.10, en sortie j'aurais 12.00
    ou:
    l_value = 12.90, en sortie j'aurais 13.00

    Avec cette fonction 'ROUND' je vais être obligé de gérer moi même le "sign" à la mano et donc, faire un loop d'indexation sur la chaine de caractère et regarder si le nombre après la virgule est supérieur ou inférieur à 5 . (beurk!)

    Y a t il une autre fonction qui permet de faire ça simplement.

    Merci.

  2. #2
    Membre éprouvé Avatar de Celdrøn
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Juillet 2007
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Juillet 2007
    Messages : 614
    Points : 1 008
    Points
    1 008
    Par défaut
    Salut,

    Tu n'es pas obligé(e)de passer par une boucle d'indexation, t'as la fonction native frac() qui te retourne la partie décimale d'un nombre.

    Sinon, regarde si la fonction native round() existe sur ton système, il est possible qu'elle soit nouvelle.
    À ce que j'ai pu lire, ça devrait correspondre... à tester si c'est possible.
    ABAP Keyword Documentation - round, rescale - Rounding Functions

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 313
    Points : 375
    Points
    375
    Par défaut
    Hello,

    pour moi c'est natif ABAP
    c'est a dire il suffit juste que tu affectes ton chiffre décimal à une variable de type entier

    si tu veux arrondir au supérieur ou à l'inférieur, tu as aussi les commandes ceil(...) et floor(...)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui comme le dit splash1 c'est natif.
    Il suffit juste d'affecter ta valeur à une variable de type entier.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Points : 764
    Points
    764

Discussions similaires

  1. IEEE 754 soustraction et arrondi au plus proche puis nombre pair
    Par Iradrille dans le forum Mathématiques
    Réponses: 0
    Dernier message: 17/05/2014, 08h35
  2. [XL-2013] Rechercher le nombre entier le plus proche
    Par C'dric dans le forum Excel
    Réponses: 7
    Dernier message: 05/02/2014, 11h30
  3. [XL-2007] Arrondir au nombre impair le plus proche en se rapprochant de zéro
    Par galouluma dans le forum Excel
    Réponses: 2
    Dernier message: 03/06/2010, 08h21
  4. Arrondi au multiple le plus proche ...
    Par Marco85 dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 21/07/2009, 13h56
  5. Réponses: 1
    Dernier message: 17/12/2008, 19h00

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