decimal
implements arbitrary precision, decimal floating-point numbers, per
the General Decimal Arithmetic specification.
-
Useful zero values. The zero value of a
decimal.Big
is 0, just likemath/big
. -
Multiple operating modes. Different operating modes allow you to tailor the package's behavior to your needs. The GDA mode strictly implements the GDA specification, while the Go mode implements familiar Go idioms.
-
High performance.
decimal
is consistently one of the fastest arbitrary-precision decimal floating-point libraries, regardless of language. -
An extensive math library. The
math/
subpackage implements elementary and trigonometric functions, continued fractions, and more. -
A familiar, idiomatic API.
decimal
's API followsmath/big
's API, so there isn't a steep learning curve.
go get github.com/ericlagergren/decimal
decimal
uses Semantic Versioning. The current version is 3.3.1.
decimal
only explicitly supports the two most recent major Go 1.X versions.