Skip to main content

Decimal compatability with float

Project description

https://img.shields.io/travis/bennylope/fdecimal.svg https://img.shields.io/pypi/v/fdecimal.svg

Decimal compatability with float

  • Free software: BSD license

Features

Implicit float-to-Decimal coercion for arithmetic operations.

Instead of this:

>>> from decimal import Decimal
>>> Decimal(12.0) * 0.5
TypeError: unsupported operand type(s) for *: 'Decimal' and 'float'

Use FDecimal:

>>> from fdecimal import FDecimal
>>> FDecimal(12.0) * 0.5
Decimal('6.0')

As you can see it only solves part of the problem - the result still can’t be added with a float value without explicit type coercion, but it solves some problems where (1) its not clear what type the other value will be, (2) you don’t want to add code explicitly handling that coercion, and (3) an arithmetic surprises due to working with different numeric types are acceptable.

TODO

  • Missing operations, including mod, floor div

  • Python 3 support

  • Allow cdecimal swap-in

Done:

  • Return FDecimal objects rather than Decimal objects

History

0.2.0 (2016-01-14)

  • Add support for returning FDecimal objects from operations

0.1.0 (2016-01-14)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fdecimal-0.2.0.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

fdecimal-0.2.0-py2.py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page