Rounding
The rounding module provides different rounding strategies for monetary calculations.
RoundingMode Enum
- class moneyx.rounding.RoundingMode[source]
Bases:
objectConstants for various rounding modes.
-
HALF_UP:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'HALF_UP'
-
HALF_DOWN:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'HALF_DOWN'
-
BANKERS:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'BANKERS'
-
HALF_EVEN:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'BANKERS'
-
DOWN:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'DOWN'
-
UP:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'UP'
-
CEILING:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'CEILING'
-
FLOOR:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'FLOOR'
-
HALF_ODD:
Literal['HALF_UP','HALF_DOWN','BANKERS','DOWN','UP','CEILING','FLOOR','HALF_ODD','HALF_TOWARDS_ZERO','HALF_AWAY_FROM_ZERO'] = 'HALF_ODD'
-
HALF_UP:
Rounding Functions
Rounding utilities for Money objects.
This module provides functionality for rounding decimal values according to different rounding strategies.
- Available rounding modes:
HALF_UP: Classic rounding. If the fractional part is >= 0.5, rounds up.
HALF_DOWN: If the fractional part is > 0.5, rounds up; if it’s exactly 0.5, rounds down.
BANKERS (HALF_EVEN): Banker’s rounding. Rounds to the nearest even number when exactly 0.5.
HALF_ODD: Rounds to the nearest odd number when exactly 0.5.
DOWN: Always truncates (towards zero).
UP: Always rounds away from zero.
CEILING: Always rounds towards positive infinity.
FLOOR: Always rounds towards negative infinity.
HALF_TOWARDS_ZERO: If exactly 0.5, rounds towards zero.
HALF_AWAY_FROM_ZERO: If exactly 0.5, rounds away from zero.