Crates.io | parse_int |
lib.rs | parse_int |
version | 0.6.0 |
source | src |
created_at | 2020-01-06 14:47:15.270339 |
updated_at | 2021-09-06 14:57:11.180797 |
description | Parse &str with common prefixes to integer values |
homepage | |
repository | https://gitlab.com/dns2utf8/parse_int |
max_upload_size | |
id | 195778 |
size | 12,157 |
Parse &str with common prefixes to integer values:
use parse_int::parse;
let d = parse::<usize>("42")?;
assert_eq!(42, d);
let d = parse::<isize>("0x42")?;
assert_eq!(66, d);
// you can use underscores for more readable inputs
let d = parse::<isize>("0x42_424_242")?;
assert_eq!(1_111_638_594, d);
let d = parse::<u8>("0o42")?;
assert_eq!(34, d);
#[cfg(feature = "implicit-octal")]
{
let d = parse::<u8>("042")?;
assert_eq!(34, d);
}
let d = parse::<u16>("0b0110")?;
assert_eq!(6, d);
Specify the crate like this:
[dependencies]
parse_int = { version = "0.5", features = ["implicit-octal"] }
Then this code will return Hello, Ok(34)!
:
use parse_int::parse;
fn main() {
println!("Hello, {:?}!", parse::<i128>("00042"));
}
This work is distributed under the super-Rust quad-license:
Apache-2.0/MIT/BSL-1.0/CC0-1.0
This is equivalent to public domain in jurisdictions that allow it (CC0-1.0). Otherwise it is compatible with the Rust license, plus the option of the runtime-exception-containing BSL-1. This means that, outside of public domain jurisdictions, the source must be distributed along with author attribution and at least one of the licenses; but in binary form no attribution or license distribution is required.