2 个版本
0.1.0 | 2022 年 11 月 5 日 |
---|---|
0.1.0-alpha | 2022 年 11 月 4 日 |
169 在 解析工具
57 每月下载
用于 2 crates
13KB
138 行
GitHub | crates.io | 文档 | 问题 | 更新日志
strtoint
提供了一个同名的函数,用于从字符串中解析整数文字,支持十六进制、八进制和二进制文字的基数前缀 0x
、0o
和 0b
。
此 crate 支持将解析到 Rust 中内置的所有原始整数类型以及它们的 "NonZero" 等效类型。
如果禁用了 std
功能(默认启用),则此 crate 将以无 std 模式构建。唯一的区别是 StrToIntError
只在 std
下实现了 std::error::Error
特性。
安装
strtoint
需要 Rust 1.56 或更高版本。要在您的 Cargo 项目中使用 strtoint
库,请将以下内容添加到您的 Cargo.toml
[dependencies]
strtoint = "0.1.0"
示例
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());