C# - Convertir un nombre décimal en int32

J'ai le code suivant:

int a = Convert.ToInt32(4.5m);
int b = Convert.ToInt32(5.5m);

Console.WriteLine(a);
Console.WriteLine(b);

Et voici le résultat:

4
6

Pourquoi ne Convert.ToInt32 tours de valeurs décimales au nombre pair plus proche?

donc, vous vous attendez 4 et 5?
oui, je m'attends à 4 et 5
mais, pourquoi attendre quelque chose de différent ?
Ok j'aurais attendre a=5 et b= 6
Définir "le plus proche". 4 et 6 sont à une distance égale à 5,5

OriginalL'auteur | 2012-05-11