Decimal: Decimal numbers with variable precision

[ bsd3, library, math ] [ Propose Tags ]

A decimal number has an integer mantissa and a negative exponent. The exponent can be interpreted as the number of decimal places in the value.


[Skip to Readme]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.1, 0.4.1, 0.4.2, 0.5.1, 0.5.2
Dependencies base (<4.5), HUnit, QuickCheck (<2.1) [details]
License BSD-3-Clause
Copyright Paul Johnson, 2008
Author Paul Johnson
Maintainer paul@cogito.org.uk
Revised Revision 1 made by HerbertValerioRiedel at 2016-05-14T20:20:13Z
Category Math
Uploaded by PaulJohnson at 2008-03-30T18:29:35Z
Distributions Arch:0.5.2, Debian:0.5.1, Fedora:0.5.2, LTSHaskell:0.5.2, NixOS:0.5.2, Stackage:0.5.2, openSUSE:0.5.2
Reverse Dependencies 31 direct, 17 indirect [details]
Downloads 22148 total (84 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for Decimal-0.1.0

[back to package description]
Variable Precision Decimal Numbers
==================================

The "Decimal" type is mainly intended for doing financial arithmetic
where the number of decimal places may not be known at compile time
(e.g. for a program that handles both Yen and Dollars) and the
application must not drop pennies on the floor.  For instance if you
have to divide $10 between three people then one of them has to get
$3.34.

The number of decimal places in a value is represented as a Word8,
allowing for up to 255 decimal places.  Functions preserve precision.
Binary operators return a result with the precision of the most
precise argument, so 2.3 + 5.678 = 7.978.

If you need fixed precision decimal arithmetic where the precision is
known at compile time then Data.Number.Fixed from Lennart Augustsson's
"numbers" package is more likely to be what you want.

QuickCheck Specification
------------------------

Data.Decimal includes a set of QuickCheck properties which act as both
tests and a formal specification (hence their inclusion in the Haddock
documentation).  To run the tests go into the "tests" directory and
type "make all".  A test coverage report will automatically be
produced in "tests/Report".

Data.Decimal is an instance of Arbitrary, for your convenience in
writing your own tests.