Decimal compatability with float
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fdecimal-0.2.0.tar.gz
.
File metadata
- Download URL: fdecimal-0.2.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26a49ba88a96d341073dd136d5fc8136f2693f88b5dc4b5b2e56c9d87c7cecca |
|
MD5 | d82c6ac1e294ccfebb2590a365980ecb |
|
BLAKE2b-256 | ae1d1a1261e4074e34c974dd4e15ec3438a9c5af2987c7f71145dd6764ece13d |
File details
Details for the file fdecimal-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: fdecimal-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a94c8e7fbdbcde63f0f4108601f43720e445ea89eb07fc3da6b514bf1c7e7ee6 |
|
MD5 | e03239084c687ff2afd7d785139ffa96 |
|
BLAKE2b-256 | 72ab79f3af61304197b082b3184ce1332dd6dbfd0c6fa5a538ffa19f18250a08 |