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 6 et antérieur Discussion :

petit souci d'arrondi


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut petit souci d'arrondi
    Bonjour.
    La fonction round de vb me renvoie "presque" ce que je veux.
    j'ai un textbox qui contient la valeur 10,255 (résultat d'une opération)
    si je mets round(textbox,2) vb me renvoie 10,25 et moi je veux 10,26

    Une idée? Alors merci

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    essaye avec la fonction format(MaValeur,"0.00")

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    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 112
    Points : 16 646
    Points
    16 646
    Par défaut
    Il fut un temps ou ..
    l'important est la partie en rouge
    j'ai solutionné par Round((10.255 + 0.0001), 2)
    donc pour ton cas: Round((CSng(textbox)+ 0.0001), 2)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bizarre...

    MsgBox Round(CSng("10,255"), 2) renvoie bien 10,26 pourtant

  5. #5
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    La réponse de Delbeke est une bonne réponse.

    Ne me plaisent par contre pas les virgules utilisées par les autres à la place d'un point ...

  6. #6
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    salut jmf
    C'est vrai que format utilise le format numerique donné dans la configuration française de windows.
    On peut la modifier mais ce n'est non plus satisfaisant. Ca genere pas mal de problemes dont on se serait bien passé.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Ne me plaisent par contre pas les virgules utilisées par les autres à la place d'un point ...
    D'accord : l'exemple n'est pas très catholique, mais hors contexte.

    champ de saisi : "10,255" => l'utilisateur saisit une virgule (et c'est son droit) : le type saisi est un string

    Avant le traitement Round(CSng(10.255), 2) => la virgule remplacée par le point, la saisie de l'utilisateur est convertie en numérique, et cela fonctionne. Je n'ai aucun problème d'arrondi, ni de type incompatible est systématisant cela =)

  8. #8
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Citation Envoyé par Phifi
    Avant le traitement Round(CSng(10.255), 2) => la virgule remplacée par le point, la saisie de l'utilisateur est convertie en numérique, et cela fonctionne. Je n'ai aucun problème d'arrondi, ni de type incompatible est systématisant cela =)
    Je suis d'accord avec toi Phifi, d'ailleurs dans la plupart des logiciels ont saisi bien une virgule pour les décimales (système français) et le traitement a lieu derrière.
    J'ai toujours travaillé comme ça et j'ai jamais rencontré de problème avec format(mavaleur,"##0.00") même si mavaleur est écrite avec une virgule.

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

Discussions similaires

  1. Petit soucis pour se connecter à l'adsl
    Par Blowih dans le forum Réseau
    Réponses: 4
    Dernier message: 28/07/2004, 01h16
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 15h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 12h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 14h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 17h52

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