Énumération System.MidpointRounding
Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.
Utilisez l’énumération MidpointRounding avec les surcharges appropriées de Math.Round, MathF.Roundet Decimal.Round pour fournir un contrôle plus complet du processus d’arrondi.
Il existe deux stratégies globales d’arrondi (arrondi à arrondi le plus proche et dirigé) et chaque champ d’énumération participe exactement à l’une de ces stratégies.
Arrondir au plus proche
Champs :
Une opération arrondi à la plus proche prend un nombre d’origine avec une précision implicite ou spécifiée ; examine le chiffre suivant, qui est à cette précision plus un ; retourne le nombre le plus proche avec la même précision que le nombre d’origine. Pour les nombres positifs, si le chiffre suivant est compris entre 0 et 4, le nombre le plus proche est vers l’infini négatif. Si le chiffre suivant est compris entre 6 et 9, le nombre le plus proche est vers l’infini positif. Pour les nombres négatifs, si le chiffre suivant est compris entre 0 et 4, le nombre le plus proche est vers l’infini positif. Si le chiffre suivant est compris entre 6 et 9, le nombre le plus proche est vers l’infini négatif.
Si le chiffre suivant est de 0 à 4 ou 6 à 9, le MidpointRounding.AwayFromZero
MidpointRounding.ToEven
résultat de l’opération d’arrondi n’est pas affecté. Toutefois, si le chiffre suivant est égal à 5, qui est le point intermédiaire entre deux résultats possibles et que tous les chiffres restants sont nuls ou qu’il n’y a pas de chiffres restants, le nombre le plus proche est ambigu. Dans ce cas, les modes arrondis à les plus MidpointRounding
proches vous permettent de spécifier si l’opération d’arrondi retourne le nombre le plus proche de zéro ou le nombre pair le plus proche.
Le tableau suivant illustre les résultats de l’arrondi à certains nombres négatifs et positifs conjointement avec les modes les plus proches. La précision utilisée pour arrondir les nombres est zéro, ce qui signifie que le nombre après la virgule décimale affecte l’opération d’arrondi. Par exemple, pour le nombre -2,5, le chiffre après la virgule décimale est 5. Étant donné que ce chiffre est le point intermédiaire, vous pouvez utiliser une MidpointRounding
valeur pour déterminer le résultat de l’arrondi. Si AwayFromZero
elle est spécifiée, -3 est retourné, car il s’agit du nombre le plus proche de zéro avec une précision de zéro. Si ToEven
elle est spécifiée, -2 est retourné, car il s’agit du nombre pair le plus proche avec une précision de zéro.
Numéro d’origine | AwayFromZero | ToEven |
---|---|---|
3,5 | 4 | 4 |
2.8 | 3 | 3 |
2,5 | 3 | 2 |
2.1 | 2 | 2 |
-2.1 | -2 | -2 |
2,5- | -3 | -2 |
-2.8 | -3 | -3 |
3,5- | -4 | -4 |
Arrondi dirigé
Champs :
Une opération d’arrondi dirigé prend un nombre d’origine avec une précision implicite ou spécifiée et retourne le nombre le plus proche suivant dans une direction spécifique avec la même précision que le nombre d’origine. Modes dirigés sur le MidpointRounding
contrôle vers lequel le nombre prédéfini de l’arrondi est effectué.
Le tableau suivant illustre les résultats de l’arrondi de certains nombres négatifs et positifs conjointement avec les modes d’arrondi dirigé. La précision utilisée pour arrondir les nombres est zéro, ce qui signifie que le nombre avant la virgule décimale est affecté par l’opération d’arrondi.
Numéro d’origine | ToNegativeInfinity | ToPositiveInfinity | ToZero |
---|---|---|---|
3,5 | 3 | 4 | 3 |
2.8 | 2 | 3 | 2 |
2,5 | 2 | 3 | 2 |
2.1 | 2 | 3 | 2 |
-2.1 | -3 | -2 | -2 |
2,5- | -3 | -2 | -2 |
-2.8 | -3 | -2 | -2 |
3,5- | -4 | -3 | -3 |