7 个版本
0.3.1 | 2020年7月3日 |
---|---|
0.3.0 | 2020年4月21日 |
0.2.3 | 2020年3月21日 |
0.1.0 | 2020年2月24日 |
#1575 在 解析器实现
168 每月下载量
在 4 个crate中使用 (直接使用2个)
27KB
510 行
Hexponent
一个用于解析十六进制浮点数的库。
文档
文档可以在 https://docs.rs/hexponent/ 找到
待办事项
查看 问题
许可证
许可协议为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT),任选其一。
贡献
除非你明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,将按上述方式双重许可,没有任何额外的条款或条件。
lib.rs
:
Hexponent
Hexponent 是一个基于 C11 规范第 6.4.4.2 节的 Rust 十六进制字面量解析器。
use hexponent::FloatLiteral;
let float_repr: FloatLiteral = "0x3.4".parse().unwrap();
let value = float_repr.convert::<f32>().inner();
assert_eq!(value, 3.25);
Hexponent 的最低支持 Rust 版本为 1.34。
特性
- 无依赖
- 非 UTF-8 解析器
- 精度警告
no_std
支持 (MSRV 1.36.0)
与规范的不同之处
hexponent 有两个地方与 C11 规范不同。
- 指数不是必需的。(
0x1.2
是允许的) floating-suffix
不会被解析。(0x1p4l
是不允许的)
no_std
支持
no_std
支持可以通过禁用 Cargo.toml
中 hexponent 的默认 std
功能来启用。
hexponent = {version = "0.2", default-features = false}
no_std
支持仅适用于 rustc 版本 1.36.0 及以上。
禁用 std
功能目前仅禁用 std::error::Error
实现,用于 ParseError
。