#integer #cast #primitive-integer #checked #convert #conversion #int

checked_int_cast

带溢出和下溢检查的原始整型之间的转换

1个稳定版本

使用旧Rust 2015

1.0.0 2015年9月7日

算法中排名2387

Download history 15146/week @ 2024-03-06 12503/week @ 2024-03-13 15459/week @ 2024-03-20 12674/week @ 2024-03-27 12170/week @ 2024-04-03 12645/week @ 2024-04-10 14269/week @ 2024-04-17 12858/week @ 2024-04-24 11295/week @ 2024-05-01 10881/week @ 2024-05-08 17177/week @ 2024-05-15 15362/week @ 2024-05-22 11916/week @ 2024-05-29 13199/week @ 2024-06-05 11891/week @ 2024-06-12 11542/week @ 2024-06-19

每月下载量52,347
111个crate中使用了(其中4个直接使用)111 crates (4 directly)

MIT许可证

7KB
116

文档

此模块公开的函数尝试将一个原始整型类型转换为另一个类型,在溢出或下溢时返回None

示例

use checked_int_cast::CheckedIntCast;

// Returns None if usize has 32 or fewer bits
(2u64 << 33).as_usize_checked();

// Successful cast
assert_eq!(127u8.as_i8_checked(), Some(127i8));

// Overflow
assert_eq!(255u8.as_i8_checked(), None);

// Underflow
assert_eq!((-1i8).as_u32_checked(), None);

lib.rs:

检查溢出和下溢的整型类型之间的转换

此模块公开的函数尝试将一个原始整型类型转换为另一个类型,在溢出或下溢时返回None

示例

use checked_int_cast::CheckedIntCast;

// Returns None if usize has 32 or fewer bits
(2u64 << 33).as_usize_checked();

// Successful cast
assert_eq!(127u8.as_i8_checked(), Some(127i8));

// Overflow
assert_eq!(255u8.as_i8_checked(), None);

// Underflow
assert_eq!((-1i8).as_u32_checked(), None);

无运行时依赖