apd
currency
Our great sponsors
apd | currency | |
---|---|---|
7 | 11 | |
594 | 489 | |
2.2% | - | |
3.8 | 6.8 | |
16 days ago | 2 months ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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.
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.
currency
-
Should golang create a money library on the exp package?
I maintain a decent solution in this problem space: https://github.com/bojanz/currency
-
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.
-
Golang E-Commerce framework
eCommerce code does enough calculations that cents tend to be not precise enough (e.g. when summing up tax), so I always advise using a real decimal package, optionally wrapped in an Amount/Price struct like bojanz/currency does.
Yes, MySQL/MariaDB have a decimal column type that should be used. I have an example of that here.
-
cockroachdb/apd v3.0.0
Did some benchmarks for bojanz/currency, after switching it to v3. The performance increase is noticeable.
-
Library recommendation -- money calculations, more accurate handling of floats
I have the change done in a branch, I just need 4.0.0 to be released, but it's been a long wait (I opened https://github.com/bojanz/currency/issues/1 in May of 2020).
The best decimal package is still cockroachdb/apd. I wrap it in bojanz/currency for money handling.
-
Help with e-commerce project
https://github.com/bojanz/currency https://github.com/bojanz/address
- currency - Currency amounts and formatting for Go
What are some alternatives?
decimal - Arbitrary-precision fixed-point decimal numbers in go
decimal - A high-performance, arbitrary-precision, floating-point decimal library.
root - The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
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.
Flamingo Commerce - Flexible E-Commerce Framework on top of Flamingo. Used to build E-Commerce "Portals" and connect it with the help of individual Adapters to other services.
icu - The home of the ICU project source code.
ent - An entity framework for Go
Medusa - Building blocks for digital commerce
address - Address handling for Go.
ews-managed-api