https://github.com/ariasemis/monies
Lossless monetary operations and multi-currency support
https://github.com/ariasemis/monies
csharp currencies dotnet dotnet-core dotnet-standard money monies
Last synced: 5 months ago
JSON representation
Lossless monetary operations and multi-currency support
- Host: GitHub
- URL: https://github.com/ariasemis/monies
- Owner: ariasemis
- License: mpl-2.0
- Created: 2020-03-06T21:01:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-19T23:42:43.000Z (over 1 year ago)
- Last Synced: 2025-09-28T10:57:16.457Z (10 months ago)
- Topics: csharp, currencies, dotnet, dotnet-core, dotnet-standard, money, monies
- Language: C#
- Homepage:
- Size: 183 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Monies
[](https://github.com/ariasemis/monies/actions?query=workflow%3ACI)
[](https://coveralls.io/github/ariasemis/monies?branch=master)
[](https://opensource.org/licenses/MPL-2.0)
[](https://www.nuget.org/packages/Monies)
Yet another money class written in C#
This library aims to solve the following issues:
## Lossless monetary operations
Monetary calculations are often rounded to the smallest currency unit, but doing so you may end up losing or creating money because of rounding errors.
In C# this is somewhat alleviated by the `decimal` datatype, yet we can still have problems when dealing with currencies whose units are not in base 10 (like in precious metals for instance).
## Support for user-defined currency types
Most libraries come with a predefined set of currencies built-in (usually based on ISO 4217), but offer limited options for clients to define their own custom currencies.
This library aims to support any currency, including ISO 4217, cryptocurrencies, vendor-specific currencies, precious metals, etc.