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

VBA Access Discussion :

[A-03] Bug dans fonction int() ?


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Par défaut [A-03] Bug dans fonction int() ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Function test4()
        Dim myNumber As Double
        myNumber = 1234.12
        Debug.Print myNumber, myNumber * 100, Int(myNumber * 100)
    End Function
    Cela devrait me retourner :
    1234,12 123412 123412

    Et voila ce que cela me retourne :
    1234,12 123412 123411


    Le resultat est ok pour d'autres nombres.
    Vous arrivez a reproduire le pb ?
    Si qq a une explication, je suis preneur.

    a+

  2. #2
    Membre émérite
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Par défaut
    bon ben voila, j'ai trouvé :
    En fait l'affectation myNumber est un double, on lui affecte 1234.12, nous sommes en virgule flotante, ainsi la vrai valeur de myNumber est 1234.119999999999999. Faire un int() sur ce nombre retournera ainsi 1234.11

    La fonction a utiliser dans ce cas est Round(number, nbdecimale) qui arrondit un decimal.

    a+ et bonne journée

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

Discussions similaires

  1. Pointeur int dans fonction récursive
    Par Invité dans le forum Débuter
    Réponses: 5
    Dernier message: 29/05/2008, 16h38
  2. [ismember] Bug dans fonction ?
    Par tom3w dans le forum MATLAB
    Réponses: 2
    Dernier message: 28/01/2008, 17h57
  3. Bug dans la fonction "répéter l'en-tête de groupe sur chaque page"
    Par nanouille56 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/10/2006, 08h04
  4. [9i] bug dans la fonction transform XMLType (XSL) ?
    Par Nico57 dans le forum Oracle
    Réponses: 1
    Dernier message: 20/01/2006, 10h11
  5. [J2SE] intérêt du final dans : fonction( final int arg) ?
    Par guile.rondins dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2005, 16h03

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