>
Dinero is a Rust port of Dinero.js
Dinero lets you create, calculate, and format money in Rust.
docs.rs/dinero
---
## 📦 Install
```sh
$ cargo add dinero
```
## ⚡️ Quick start
`Dinero` objects are minimal. The API is heavily inspired by `dinero.js` unless there is a more suitable Rust way to implement things.
```rust
use dinero::{api::add, currencies::USD, format::to_unit, Dinero};
// Create a Dinero object of value 8.5 USD (the default scale for USD is 2)
let d1 = Dinero::new(850, USD, None);
// Create a Dinero object of value 5 USD with a custom scale 3
let d2 = Dinero::new(5000, USD, Some(3));
// Add the 2 Dineros, the value is stored in the result Dinero without modifying d1 and d2
let result = add(&d1, &d2); // Similar API as Dinero.js
let result = d1 + d2; // Or you can use the standard operators
match result {
Ok(value) => println!("{} USD", to_unit(value, None, None)), // 13.5 USD
Err(_) => println!("Error adding d1+d2"),
}
```
## 🦀 Disclaimer
I'm using this project to learn about Rust. And I'm working my way through the language and the ecosystem.
Consider the current version of Dinero **unstable**. There will _definitely_ be breaking changes.
## 📜 License
[MIT](LICENSE)