Improving decimal numbers
Python's built-in decimal module provides improved support for fast, precise floating point calculations. Normal float types are based on binary objects; decimal floats are completely different. Specifically, it improves on the normal float type by doing the following:
- Operating like people learned in school, rather than forcing people to conform to a new arithmetic paradigm.
- Representing decimal values exactly, rather than having results such as the following:
Ensuring the exactness of decimal values is carried through calculations, preventing rounding errors from compounding.
- Accounting for significant digits, for example, 1.20 + 2.10 = 3.20, not 3.2, and 1.20 * 1.30 = 1.5600.
- Allowing for user-specified precision, up to 28 places. This is different from float, which is dependent upon the platform.
- Normal, binary float types only have a small portion of their capabilities exposed to the user. Decimal floats expose all required parts of the standard, allowing full control...