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());