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

VB.NET Discussion :

Probléme arrondi d'un nombre


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut Probléme arrondi d'un nombre
    Bonsoir ,

    Au fait je suis entrain d'implémenter un petit exemple qui sert à afficher l'arrondi d'un nombre.Tout ça se passe bien sauf que si mon nombre est par exemple 11.5 il m'affiche 11 par contre je veux avoir 12.
    y-A t-il un moyen sil vous plait de résoudre ce problème?
    Merci

  2. #2
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Par défaut
    Bonjour,

    Oui il y à moyen. Je te conseille d'utiliser MidpointRounding.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Math.Round(2.5,MidpointRounding.AwayFromZero);

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Par défaut
    bonjour,
    Oui il y à moyen. Je te conseille d'utiliser MidpointRounding.
    Serait il possible d'avoir une explication supplémentaire ?
    Dans le tableau explicatif, on peut voir

    Nombre 3.5 | 2.5
    Away 4 | 3
    Even 4 | 2

    Quel est la différence entre 2.5 et 3.5 pourquoi ne sont ils pas arrondis de la même manière ?

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    La difference vient du fait que les "AwayFromZero" sont pair dans un cas et impair dans l'autre.

    Ce qui est important est d'utiliser la fonction Math.Round (ou Convert.ToInt32) pour avoir un arrondi. Le simple cast en int n'arrondit pas : il tronque.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    Merci Jean-Michel Ormes !

    ça marche à merveille !

  6. #6
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Par défaut
    Citation Envoyé par chaparo Voir le message
    bonjour,


    Serait il possible d'avoir une explication supplémentaire ?
    Dans le tableau explicatif, on peut voir

    Nombre 3.5 | 2.5
    Away 4 | 3
    Even 4 | 2

    Quel est la différence entre 2.5 et 3.5 pourquoi ne sont ils pas arrondis de la même manière ?
    Bonjour chaparo,

    L'explication est donnée dans la section "Membres" du lien MSDN que j'ai fourni. Lorsqu'un nombre se trouve à mi-chemin entre deux nombres, comme c'est le cas dans ton tableau, l'arrondi se définit ainsi :

    - AwayFromZero : Arrondi vers le nombre le plus proche qui s'éloigne de zéro (Donc 3.5 donne 4 et 2.5 donne 3).
    - ToEven : Arrondi vers le nombre pair le plus proche (Donc 3.5 donne 4 et 2.5 donne 2).

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

Discussions similaires

  1. Problème d'arrondi sur les nombres décimaux
    Par marcandre dans le forum Développement
    Réponses: 2
    Dernier message: 17/01/2011, 16h29
  2. [AC-2007] Problème arrondi nombres décimaux
    Par dany1 dans le forum Access
    Réponses: 3
    Dernier message: 29/12/2010, 11h59
  3. [SQL*Loader] Problème de chargement de nombres
    Par sebduth dans le forum Oracle
    Réponses: 10
    Dernier message: 18/11/2005, 10h07
  4. Réponses: 3
    Dernier message: 22/05/2005, 12h59
  5. [langage] Erreur d'arrondi sur petits nombres
    Par Tchetch dans le forum Langage
    Réponses: 7
    Dernier message: 12/01/2005, 10h11

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