Skip to main content

Decimal compatability with float

Project description

Decimal compatability with float

  • Free software: BSD license


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

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.


  • Missing operations, including mod, floor div
  • Python 3 support
  • Allow cdecimal swap-in


  • Return FDecimal objects rather than Decimal objects


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.

Files for fdecimal, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size fdecimal-0.2.0-py2.py3-none-any.whl (5.7 kB) File type Wheel Python version 2.7 Upload date Hashes View
Filename, size fdecimal-0.2.0.tar.gz (6.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page