CInt ne pas arrondir le Double de la valeur constante - comment puis-je supprimer la partie fractionnaire?

J'ai trébuché sur une question avec CInt et de la conversion d'un double d'un entier.

La question est la suivante:

CInt(10.5)  'Result is 10
CInt(10.51) 'Result it 11, but I expected 10...

Je me suis habitué à C# conversion de style où (int) 10.51 est de 10.

Comme l'a souligné dans la question sur Entier.Analyser vs CInt, le résultat est simplement arrondi d'une certaine façon.

Cependant, tout ce que je besoin est d'obtenir seulement la partie entière et de jeter les fractions. Comment puis-je obtenir ce type de conversion en VB.NET? Après quelques recherches je vois que je peux utiliser le Fix() fonction de faire le tour, mais est-il le meilleur choix?

Pire: cint(10.5) = 10 mais cint(11.5) = 12. si la partie entière est même arrondissement des .50000000 est en bas, pour les il est!

OriginalL'auteur nbulba | 2011-10-07