8 releases

0.2.3 Jul 12, 2019
0.2.2 Jan 7, 2018
0.2.1 Feb 21, 2017
0.2.0 Nov 5, 2016
0.1.0 Sep 28, 2016

#22 in Value formatting

Download history 68/week @ 2020-01-25 45/week @ 2020-02-01 100/week @ 2020-02-08 85/week @ 2020-02-15 165/week @ 2020-02-22 58/week @ 2020-02-29 48/week @ 2020-03-07 37/week @ 2020-03-14 68/week @ 2020-03-21 66/week @ 2020-03-28 79/week @ 2020-04-04 82/week @ 2020-04-11 125/week @ 2020-04-18 41/week @ 2020-04-25 37/week @ 2020-05-02 86/week @ 2020-05-09

320 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

105KB
1.5K SLoC

steel-cent, currency and money values for Rust

See examples, docs, etc. at duelinmarkers.gitlab.io/steel-cent or just browse the rustdocs in the source.

Features

  • Two value types for monetary amounts: Money and SmallMoney
  • A value type for currencies: Currency
  • Customizable output formatting and input parsing of money values
  • Currency lookup by ISO 4217 alpha (e.g., "USD") or numeric (e.g, 840) codes

TODO

  • Should checked_{add,sub} return None on mismatched currency instead of panicking?
  • Look up currency by country code
  • Support omitting zero minor part in FormatSpec
  • Accept Into in Money ops (maybe)
  • Support for adding custom currencies to lookup table
  • Include pseudo-currencies w/o decimal places (not sure how that should work)
  • Include historical currencies (maybe)
  • Include non-standard (crypto-)currencies (maybe)
  • BigMoney (not limited to minor-unit precision) backed by BigInt
  • Is there a better way to do pre-defined FormatSpecs?
  • meta: Unify README w/ site/index.html
  • meta: Customize rustdocs

Joda

The design of steel-cent is largely inspired by the excellent Joda Money Java library. It also uses Joda Money's currency data.

Legal

steel-cent is Copyright 2016 John D. Hume.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall have its copyright assigned to John D. Hume and be dual licensed as above, keeping it free for you and anyone else to use, without any additional terms or conditions.

Dependencies

~150KB