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.

Filename, size & hash SHA256 hash help File type Python version Upload date
fdecimal-0.2.0-py2.py3-none-any.whl (5.7 kB) Copy SHA256 hash SHA256 Wheel 2.7
fdecimal-0.2.0.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page