GitHub | crates.io | Documentation | Issues | Changelog
strtoint provides a function of the same name for parsing integer literals
from strings, with support for the base prefixes 0x, 0o, and 0b for
hexadecimal, octal, and binary literals, respectively.
This crate supports parsing into all primitive integer types built into Rust, along with their "NonZero" equivalents.
If the std feature (enabled by default) is disabled, this crate will be built
in no-std mode. The only difference is that StrToIntError only implements
the std::error::Error trait under std.
use core::num::NonZeroUsize;
use strtoint::strtoint;
assert_eq!(strtoint::<i32>("123").unwrap(), 123);
assert_eq!(strtoint::<u32>("0xabcd_FFFF").unwrap(), 2882404351);
assert_eq!(strtoint::<i16>("0o644").unwrap(), 420);
assert_eq!(strtoint::<i8>("-0b00101010").unwrap(), -42);
assert!(strtoint::<i64>("42.0").is_err());
assert_eq!(
strtoint::<NonZeroUsize>("123_456").unwrap(),
NonZeroUsize::new(123456).unwrap()
);
assert!(strtoint::<NonZeroUsize>("0").is_err());