Crates.io | num-parse |
lib.rs | num-parse |
version | 0.1.2 |
source | src |
created_at | 2022-07-04 23:34:25.656437 |
updated_at | 2022-07-05 14:32:06.630155 |
description | Generic, JavaScript-like parseInt() functions for Rust. |
homepage | |
repository | https://github.com/phorward/num-parse |
max_upload_size | |
id | 619293 |
size | 10,915 |
Generic, JavaScript-like parseInt() functions for Rust.
This crate is intended to provide a fast and generic parseInt()
-like implementation for Rust, which mostly follows the specification described in the MDN parseInt() documentation.
Likewise in JavaScript, a parseFloat()
-like implementation for float-types is planned as well, therefore the crate has been named num-parse
already, althought it currently provides parse_int()
and variative functions only.
parse_int()
and parse_uint()
are generic interfaces to parse integers from string. Whitespace in front of the parsed number is being ignored, same as anything beyond a valid number.
use num_parse::*;
assert_eq!(parse_uint::<i32>("+123 as i32 "), Some(123i32));
assert_eq!(parse_int::<i32>(" -123 as i32 "), Some(-123i32));
assert_eq!(parse_uint::<i64>("+123 as i64 "), Some(123i64));
assert_eq!(parse_int::<i64>(" -123 as i64 "), Some(-123i64));
assert_eq!(parse_int::<i64>(" - 1 is invalid "), None);
assert_eq!(
parse_uint::<u64>(" -123 as u64, parse_int() not available for this type "),
None
);
assert_eq!(
parse_uint::<usize>(" 0xcafebabe triggers hex-mode parsing "),
Some(3405691582usize)
);