fpdecimal
apd
Our great sponsors
fpdecimal | apd | |
---|---|---|
1 | 7 | |
28 | 601 | |
- | 3.0% | |
6.5 | 3.8 | |
about 1 month ago | about 2 months ago | |
Go | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fpdecimal
apd
-
What libraries are missing?
https://github.com/cockroachdb/apd is currently the best implementation in the ecosystem (performance, correctness). Have you already evaluated it?
-
Lack of Decimal Support
FWIW I think cockroachdb/apd is the best third party option. While building bojanz/currency I've evaluated and benchmarked the others and found them either less maintained, slower, or both.
-
Small Fixed-Point Decimals library
I have a package for handling currency amounts and calculations that is based on cockroachdb/apd, in my opinion the best arbitrary-precision decimal implementation in Go right now. So, I can offer a bit of insight.
- cockroachdb/apd v3.0.0
-
Library recommendation -- money calculations, more accurate handling of floats
The best decimal package is still cockroachdb/apd. I wrap it in bojanz/currency for money handling.
-
What libraries from other languages do you wish were ported over into go?
https://github.com/cockroachdb/apd remains the best decimal library for Go (ericlagergren/decimal is faster but unmaintained).
-
currency - Currency amounts and formatting for Go
Note: In benchmarks ericlagergren/decimal was noticeably faster than cockroachdb/apd, but it has known bugs when used with go mod, so I decided to wait and go with cockroachdb/apd for now. The Amount struct wraps the decimal implementation completely, making it easy to do the swap later without breaking BC.
What are some alternatives?
sleet - Payment abstraction library - one interface for multiple payment processors ( inspired by Ruby's ActiveMerchant )
decimal - Arbitrary-precision fixed-point decimal numbers in Go
GoIB - Pure Go interface to Interactive Brokers IB API
decimal - A high-performance, arbitrary-precision, floating-point decimal library.
go-finance - :warning: Deprecrated in favor of https://github.com/piquette/finance-go
root - The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
go-money - Go implementation of Fowler's Money pattern
gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
https://github.com/alpeb/go-finance - Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
currency - Currency handling for Go.
ach - ACH implements a reader, writer, and validator for Automated Clearing House (ACH) files. The HTTP server is available in a Docker image and the Go package is available.
centrifuge - Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.