Question

Quelle est la différence en ASP/VBScript entre Int() et CInt()?

Était-ce utile?

La solution

La fonction Int renvoie la partie entière d'un nombre spécifié.

La fonction CInt convertit une expression en type Integer.

Et la meilleure réponse vient de MSDN

CInt diffère des fonctions Fix et Int, qui tronquent plutôt qu'arrondissent la partie fractionnaire d'un nombre.Lorsque la partie fractionnaire est exactement 0,5, la fonction CInt l'arrondit toujours au nombre pair le plus proche.Par exemple, 0,5 arrondit à 0 et 1,5 arrondit à 2.

Autres conseils

Et la différence la plus importante (IME, au moins)... c'est que CInt déborde à 32 767.

Voici une autre différence :

Scénario:

wscript.echo 40.91 * 100
wscript.echo Int(40.91 * 100)
wscript.echo CInt(40.91 * 100)

résultat:

4091
4090   (????)
4091

Des pensées?

La réponse habituelle à ce problème consiste à forcer manuellement un nouvel arrondi.Ce problème est aussi vieux que FORTRAN.

Au lieu de

a = int(40.91 * 100)

Utiliser

b = 40.91 * 100
a = int(b + 0.5)

Astuce très ancienne, encore utile de temps en temps dans les feuilles de calcul Excel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top