Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction Int en VBA

5 réponses
Avatar
Patrick
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick

5 réponses

Avatar
MichDenis
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" a écrit dans le message de news:

Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick
Avatar
Patrick
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" a écrit dans le message de news:

Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick





Avatar
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" a écrit dans le message de news:
Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick


Avatar
MichDenis
Essaie ceci dans une cellule :

=ENT(2,29999999999999 * 200) = 459



"Tatanka" a écrit dans le message de news:
%
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" a écrit dans le message de news:

Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick


Avatar
Tatanka
Je trouve ça traître les virgules « frottantes » !

"MichDenis" a écrit dans le message de news:
Essaie ceci dans une cellule :

=ENT(2,29999999999999 * 200) = 459



"Tatanka" a écrit dans le message de news:
%
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" a écrit dans le message de news:

Bonjour,

Comprenez-vous ces résultats :

print 2.3 * 100
230

print Int(2.3 * 100)
229

Merci.

--
Patrick