https://medium.com/@shilpag-398ckm/floating-point-arithmetic-precision-error-in-python-decimal-comes-for-rescue-8803d1290601