2 releases
0.1.18 | Oct 15, 2023 |
---|---|
0.1.17 | Oct 3, 2023 |
0.1.16 |
|
0.1.14 |
|
0.1.8 |
|
#643 in Parser implementations
352 downloads per month
Used in investments
47KB
913 lines
isin
An ISIN
type for working with validated International Security Identifiers (ISINs) as defined in
ISO 6166.
The checksum calculation uses a table-driven algorithm to minimize overhead vs. a direct translation of the formula definition.
This crate is part of the Financial Identifiers series:
- CIK: Central Index Key (SEC EDGAR)
- CUSIP: Committee on Uniform Security Identification Procedures (ANSI X9.6-2020)
- ISIN: International Securities Identification Number (ISO 6166:2021)
- LEI: Legal Entity Identifier (ISO 17442:2020)
Usage
Add this to your Cargo.toml
:
[dependencies]
isin = "0.1"
Example
use isin;
let isin_string = "US0378331005";
match isin::parse(isin_string) {
Ok(isin) => {
println!("Parsed ISIN: {}", isin.to_string()); // "US0378331005"
println!(" Prefix: {}", isin.prefix()); // "US"
println!(" Basic code: {}", isin.basic_code()); // "037833100"
println!(" Check digit: {}", isin.check_digit()); // '5'
}
Err(err) => panic!("Unable to parse ISIN {}: {}", isin_string, err),
}
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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 be dual licensed as above, without any additional terms or conditions.
Dependencies
~165KB