SET DECFLOAT ROUND
L’opérateur SET DECFLOAT ROUND
change le mode d’arrondi pour la session en cours.Les modes d’arrondi suivants, compatibles IEEE, sont pris en charge :
- CEILLING
-
Arrondissement à partir du haut. Si tous les chiffres rejetés sont des zéros ou si le signe du nombre est négatif, le dernier chiffre non rejeté reste le même. Dans le cas contraire, le dernier chiffre non rejeté est incrémenté de un (arrondi à l’unité supérieure).
- UP
-
Arrondissement à partir de zéro (troncature avec incrément). Les valeurs rejetées sont ignorées.
- HALF_UP
-
Arrondi à la valeur la plus proche. Cette option est utilisée par défaut. Si le résultat est équidistant, l’arrondi au chiffre supérieur est effectué. Si les valeurs écartées sont supérieures ou égales à la moitié (0,5) de un à la position gauche suivante, le dernier chiffre non écarté est incrémenté de un (arrondi vers le haut). Sinon, les valeurs rejetées sont ignorées.
- HALF_EVEN
-
Arrondi à la valeur la plus proche. Si le résultat est équidistant, l’arrondi est effectué de manière à ce que le dernier chiffre soit pair. Si les valeurs rejetées sont supérieures à la moitié (0,5) d’une unité dans la position suivante à gauche, le dernier chiffre non rejeté est incrémenté d’une unité (arrondi à l’unité supérieure). S’ils sont inférieurs à la moitié, le résultat n’est pas corrigé, c’est-à-dire que les chiffres rejetés sont ignorés. Dans le cas contraire, lorsque les valeurs rejetées sont exactement égales à la moitié, le dernier chiffre non rejeté est inchangé s’il est pair et incrémenté d’une unité (arrondi au chiffre supérieur) dans le cas contraire (pour obtenir un chiffre pair). Ce mode d’arrondi est également appelé arrondi de banque et donne une impression d’arrondi équitable.
- HALF_DOWN
-
Arrondir à la valeur la plus proche. Si le résultat est équidistant, l’arrondi au chiffre inférieur est effectué. Si les valeurs écartées sont supérieures ou égales à la moitié (0,5) de un dans la position gauche suivante, le dernier chiffre non écarté est décrémenté de un (arrondi vers le bas). Sinon, les valeurs rejetées sont ignorées.
- DOWN
-
Arrondi vers zéro (troncature). Les valeurs rejetées sont ignorées.
- FLOOR
-
Arrondi vers le bas. Si tous les chiffres écartés sont des zéros ou si le signe est positif, le dernier chiffre non écarté ne change pas. Dans le cas contraire (signe négatif), le dernier chiffre non rejeté est incrémenté de un.
- REROUND
-
Arrondi à une valeur supérieure si l’arrondi est de 0 ou 5, sinon l’arrondi est à une valeur inférieure.
SET DECFLOAT ROUND HALF_DOWN;
Modes d’arrondi | 12.341 | 12.345 | 12.349 | 12.355 | 12.405 | -12.345 |
---|---|---|---|---|---|---|
CEILING |
12.35 |
12.35 |
12.35 |
12.36 |
12.41 |
-12.34 |
UP |
12.35 |
12.35 |
12.35 |
12.36 |
12.41 |
-12.35 |
HALF_UP |
12.34 |
12.35 |
12.35 |
12.36 |
12.41 |
-12.35 |
HALF_EVEN |
12.34 |
12.34 |
12.35 |
12.36 |
12.40 |
-12.34 |
HALF_DOWN |
12.34 |
12.34 |
12.35 |
12.35 |
12.40 |
-12.34 |
DOWN |
12.34 |
12.34 |
12.34 |
12.35 |
12.40 |
-12.34 |
FLOOR |
12.34 |
12.34 |
12.34 |
12.35 |
12.40 |
-12.35 |
REROUND |
12.34 |
12.34 |
12.34 |
12.36 |
12.41 |
-12.34 |