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 :

problème de calcul


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut problème de calcul
    Voila, encore un ptit problème.

    Mon programme est une caisse de magasin. J'ai un champ qui m'indique le total de la commande, puis un champ ou j'introduis le montant recut, puis j'appuie sur un bouton pour faire le calcul. En général tout se passe bien, avec n'importe quel calcul, sauf 1 seule combinaison. Quand j'ai 2,6 en total, et que j'introduis 2,6 comme montant recut, il ne m'indique pas 0 comme il devrait, mais 4,44089209850063E-16
    Qu'est ce que c'est que ce truc bizare ?
    Quelqu'un à une idée ?
    voici mon code

    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
    16
    17
    18
    19
        Dim str2 As String
        Dim fin2 As String
     
        'test si le champ est vide
        If txtRecu.Text = "" Then
            MsgBox "Vous n'avez pas rempli le champ Recu"
        Else
            'calcul du prix a rendre
            If txtRecu.Text < total Then
                MsgBox "Le montant recut est inférieur au total"
            Else
                str2 = CStr(txtRecu.Text)
                fin2 = Replace(str2, ".", ",")
                recu = fin2
                rendre = recu - total
                txtRendre = rendre & " €"
                cmdRetablir.Enabled = True
            End If
        End If

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    La représenttion des nombres dans un format binaire n'est pas si aisée que l'on croit.
    Il faut que tu utilise un arrondi apres le calcul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendre = Format(recu - total,"0.00")
    De plus tu passes joyeusement du mode texte au mode numérique en laissant a vb le soin de deviner ce que tu veux. Pas bon plan, çà te joueras de tours.
    Definis proprement des variables en les typant.
    Le type currency entre autre, a été spécialementétudié pour des valeurs monétaires avec arrondi automatique à 5 décimales.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Rendre as Currency
    Dim Recu as Currency
    Dim Total as Currency

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    Merci pour ta correction, j'ai plus d'erreur.
    Mais mes variables sont toutes déja définies comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim total as double
     dim recu as double
     dim rendre as double
    Dois-je laisser comme ca ou changer en currency comme tu le disait ?
    il n'y a que la variable recu ou je récupère la valeur d'un champ texte ou l'on ne sait introduire que des nombres

    merci a toi

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Par défaut
    salut
    bah change les tous vue qu'il s'agit que de la money

Discussions similaires

  1. Problème de calcule en SQL !
    Par FilipeVV dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/09/2005, 11h45
  2. Problème de calcul matricielle
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 29/06/2005, 21h45
  3. problème de calcul des normales par sommet
    Par captainSeb dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/01/2005, 13h42
  4. [Calendar]Problème de calcul de date
    Par valerie90 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 08/12/2004, 12h13
  5. Problème de calcul unix_timestamp
    Par petit_stagiaire dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2004, 15h27

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