Fonction Int en VBA

Le
Patrick
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #5383031
Le processeur de ton ordi. ne comprend que les 0 et 1
toutes les opérations que tu fais sont pour lui une suite de 0 et de 1

Or il arrive qu'en passant (transformant) du système décimale au binaire,
le résultat de l'opération ne soit pas juste à la XIème décimale

en conséquence Int(2.3*100) se retrouve dans ce type de cas car
La fonction "Integer" ne retient que l'entier peu importe la partie décimale
du nombre

Si tu utilises ceci Cint(2.3*100) tu auras bien 230

Cint() est une fonction de conversion d'excel.



"Patrick"
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick
Patrick
Le #5383011
Super. Merci.

--
Patrick


"MichDenis" wrote:

Le processeur de ton ordi. ne comprend que les 0 et 1
toutes les opérations que tu fais sont pour lui une suite de 0 et de 1

Or il arrive qu'en passant (transformant) du système décimale au binaire,
le résultat de l'opération ne soit pas juste à la XIème décimale

en conséquence Int(2.3*100) se retrouve dans ce type de cas car
La fonction "Integer" ne retient que l'entier peu importe la partie décimale
du nombre

Si tu utilises ceci Cint(2.3*100) tu auras bien 230

Cint() est une fonction de conversion d'excel.



"Patrick"
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick





Tatanka
Le #5383001
Salut Patrick,

La formule de feuille de calcul =ENT(2,3*100)
renvoie le bon résultat. Avec ce qui suit, tu devrais
obtenir le bon résultat :

Sub Essai()
Debug.Print 2.3 * 100
Debug.Print [Int(2.3*100)]
End Sub

Serge


"Patrick"
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick


MichDenis
Le #5382991
Essaie ceci dans une cellule :

=ENT(2,29999999999999 * 200) = 459



"Tatanka" %
Salut Patrick,

La formule de feuille de calcul =ENT(2,3*100)
renvoie le bon résultat. Avec ce qui suit, tu devrais
obtenir le bon résultat :

Sub Essai()
Debug.Print 2.3 * 100
Debug.Print [Int(2.3*100)]
End Sub

Serge


"Patrick"
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick


Tatanka
Le #5382981
Je trouve ça traître les virgules « frottantes » !

"MichDenis"
Essaie ceci dans une cellule :

=ENT(2,29999999999999 * 200) = 459



"Tatanka" %
Salut Patrick,

La formule de feuille de calcul =ENT(2,3*100)
renvoie le bon résultat. Avec ce qui suit, tu devrais
obtenir le bon résultat :

Sub Essai()
Debug.Print 2.3 * 100
Debug.Print [Int(2.3*100)]
End Sub

Serge


"Patrick"
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick







Publicité
Poster une réponse
Anonyme