Quelle est la différence entre ASP/VBScript entre Int()
et CInt()
?ASP/VBScript - Int() vs CInt()
Répondre
La fonction Int renvoie la partie entière d'un nombre spécifié.
La fonction CInt convertit une expression de type Integer.
Et la meilleure réponse vient de MSDN
CInt diffère de Fix et fonctions Int, qui tronquent, plutôt que ronde, la partie décimale d'un nombre. Lorsque la partie fractionnaire est exactement égale à 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.
Et, la différence la plus importante (IME, au moins) .... est que CInt overflows at 32,767.
Voici une autre différence:
Script:
wscript.echo 40.91 * 100
wscript.echo Int(40.91 * 100)
wscript.echo CInt(40.91 * 100)
Résultat:
4091
4090 (????)
4091
Toute pensée?
Arrondi à virgule flottante. La valeur réelle de "40.91" dans le code est extrêmement proche de, mais juste inférieure à la valeur décimale théorique. CInt arrondit au plus proche, Int tronque. –
La réponse habituelle à ce problème consiste à forcer manuellement un arrondi. Ce problème est aussi vieux que FORTRAN.
Au lieu de
a = int(40.91 * 100)
Utilisez
b = 40.91 * 100
a = int(b + 0.5)
Trick ancienne, toujours utile dans des feuilles de calcul Excel de temps en temps.
- 1. System.Convert.ToInt vs (int)
- 2. classic asp cint
- 3. Classic ASP App Erreur CINT - twitpocalypse v2
- 4. ASP Classic - Type incompatibilité: 'CInt' - Easy question
- 5. conversion liste <int> type int []
- 6. Comment écrire un littéral int abrégé int?
- 7. Comment convertir un vecteur <pair <int,int>> en multimap <int,int> efficacement?
- 8. Y at-il une valeur dans PHP vérifiant un bool vs un int?
- 9. IMAGE_CAPTURE L'intention ne retourne jamais à onActivityResult (int, int, Intent);
- 10. Blocage de la version de System.IO.Stream.Read (byte [], int, int)
- 11. int (bla) donnant réponse différente de (bla) comme int
- 12. Quelle est la différence entre 'int?' et 'int' en C#?
- 13. Différence entre int [] et la liste <int>
- 14. int [] arr = {0}; valeur int = arr [arr [0] ++]; Valeur = 1?
- 15. Convertir int à CGFloat
- 16. F # int64 à int
- 17. incrément objet int
- 18. Convertir BSTR à int
- 19. C# - Tableaux int multidimensionnels
- 20. JTabbedPane.getTabComponentAt (int) retour null
- 21. Initialiser int [] [,] en C#
- 22. iPhone - int à NSData?
- 23. Signification d'attente ((int *) 0)
- 24. Pourquoi int main() {} compile?
- 25. Linq: Sum of int
- 26. int et string analyse
- 27. Que fait (int ** array;) créer?
- 28. Comment convertir int [] en byte []
- 29. python, dictionnaire et erreur int
- 30. Comment convertir Scope_Identity() en int?
Merci beaucoup pour le rappel que int est un entier signé 16 BIT! –