#iso-4217 #currency #alphanumeric #4217

rust_iso4217

ISO 4217 is a standard published by the International Organization for Standardization (ISO) that defines alpha codes and numeric codes for the representation of currencies and provides information about the relationships between individual currencies and their minor units

2 releases

0.1.1 Jan 26, 2023
0.1.0 Jan 25, 2023

#123 in Finance

39 downloads per month
Used in 3 crates (via tmflib)

Apache-2.0

93KB
5K SLoC

rust_iso/rust_iso4217

A rust crate providing ISO 4217 support.

What is ISO 4217

Currency code" redirects here. Not to be confused with Currency symbol. ISO 4217 is a standard published by International Organization for Standardization (ISO) that defines alpha codes and numeric codes for the representation of currencies and provides information about the relationships between individual currencies and their minor units. This data is published in three tables:

  • Table A.1 – Current currency & funds code list1
  • Table A.2 – Current funds codes2
  • Table A.3 – List of codes for historic denominations of currencies & funds3

Installing

[dependencies]
rust_iso4217 = "0.1.0"

Using

See using section of the documentation.

Quick guide:

let currency = rust_iso4217::from_code("EUR");
let currency = rust_iso4217::from_numeric(360);
let currency = rust_iso4217::from_numeric_str("643");
let currencies = rust_iso4217::from_country("CHN");

println!("{:?}", rust_iso4217::ALL);
println!("{:?}", rust_iso4217::ALL_MAP);

For Wasm you can get all codes by

let code_strs = rust_iso4217.all_active_code();
let code_strs = rust_iso4217.all_funds_code();
let code_strs = rust_iso4217.all_historic_code();

Struct

pub struct CurrencyCode {
    //English Name
    pub name: &'static str,
    //code
    pub code: &'static str,
    //ISO number
    pub numeric: i32,
    //Minor unit
    pub unit: i32,
    //type
    pub code_type: &'static str, //currency,funds,historic
    pub countries: &'static [&'static str], //iso 3166 code
}

Contributing

Feel free to submit a pull request or create an issue. or request to rust-iso

License

rust-iso/rust_iso4217 is licensed under the Apache-2.0 license.

Source(s)

Dependencies

~0.6–8.5MB
~73K SLoC