#原始整数 #原始 #已检查 #整数 #浮点数

无 std 开发 铸件

原始类型的高效、已检查的转换函数

9 个版本

0.3.0 2021 年 9 月 4 日
0.2.7 2021 年 7 月 3 日
0.2.6 2021 年 5 月 15 日
0.2.5 2021 年 4 月 12 日
0.1.0 2016 年 2 月 7 日

323Rust 模式

Download history 475517/week @ 2024-03-14 499788/week @ 2024-03-21 493788/week @ 2024-03-28 510429/week @ 2024-04-04 524492/week @ 2024-04-11 528944/week @ 2024-04-18 516234/week @ 2024-04-25 536279/week @ 2024-05-02 515650/week @ 2024-05-09 551385/week @ 2024-05-16 551289/week @ 2024-05-23 649008/week @ 2024-05-30 641652/week @ 2024-06-06 653854/week @ 2024-06-13 660178/week @ 2024-06-20 572478/week @ 2024-06-27

2,659,232 每月下载量
用于 5,660 个包 (99 直接)

MIT/Apache 许可证

28KB
524

crates.io crates.io

cast

原始类型的高效、已检查的转换函数

extern crate cast;

// `u8` and `u16` are checked cast functions, use them to cast from any numeric
// primitive to `u8`/`u16` respectively
use cast::{u8, u16, Error};

// Infallible operations, like integer promotion, are equivalent to a normal
// cast with `as`
assert_eq!(u16(0u8), 0u16);

// Everything else will return a `Result` depending on the success of the
// operation
assert_eq!(u8(0u16), Ok(0u8));
assert_eq!(u8(256u16), Err(Error::Overflow));
assert_eq!(u8(-1i8), Err(Error::Underflow));
assert_eq!(u8(1. / 0.), Err(Error::Infinite));
assert_eq!(u8(0. / 0.), Err(Error::NaN));

API 文档

许可证

根据您的选择,许可如下

贡献

除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,应如上双重许可,不附加任何额外条款或条件。

无运行时依赖