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

WinDev Discussion :

Traitement des arrondis


Sujet :

WinDev

  1. #1
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut Traitement des arrondis
    [Communication de modération]
    La discussion initiale étant résolue ce débat a été déplacé pour éviter de l'encombrer.

    Oh la la...

    Pour faire un arrondi supérieur il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n = arrondi(n+0.9999,0)
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Citation Envoyé par mogwai162 Voir le message
    Oh la la...

    Pour faire un arrondi supérieur il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n = arrondi(n+0.9999,0)

    Non ca marche pas ça

  3. #3
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Ah non dsl j'ai été trop vite c'est pas arrondi c'est partie entière qu'il faut utiliser, comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n = PartieEntière(n+0.9999)
    Je devrais refléchir plus longtemps avant de répondre,

    Je l'utilise dans de nombreux programmes, après il faut adapter en fonction du nb de décimales. Trop ne nuit pas pour une fois...
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  4. #4
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    juste pour t'embêter, ta fonction est fausse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n = PartieEntière(n+0.9999)
    Si tu as un nombre avec une partie decimale inférieur à 0.0001, alors ton arrondi supérieure ne marche pas.
    et si je ne dis pas de bétise, il y a une facon exacte de le faire et presque aussi simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SI PartieEntiere(n) <> n ALORS
        n = PartieEntière(n) + 1
    FIN
    // et on retourne n

  5. #5
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    J'ai bien dit qu'il fallait adapter en fonction du nombre de décimales mais tu peux ajouter de 9 autant que tu veux dans l'absolu.
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  6. #6
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Mais quoiqu'il arrive, ta fonction restera fausse !
    de plus, d'une manière générale, j'aime pas trop jouer avec des valeurs réels, on sait jamais !

  7. #7
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Bon j'abandonne mais ma fonction est juste ! lol

    Quant à ton code uil faudrait plutot l'ecrire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI PartieEntiere(n) <> n ALORS
        n = PartieEntière(n) + 1
    sinon
        n = PartieEntière(n)
    FIN
    // et on retourne n
    Et d'ici à trouver ça plus simple que le mien il y a de la marge. Moi au moins il s'écrit sur une ligne
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

Discussions similaires

  1. Traitement des dates différent suivant le serveur
    Par le lynx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/09/2005, 11h14
  2. Réponses: 1
    Dernier message: 24/07/2005, 22h25
  3. Traitement des champs memo par DBGrid
    Par Sydaze dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/04/2005, 09h24
  4. [Maths] Magie des arrondis
    Par djoukit dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/09/2004, 17h00
  5. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57

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