Skip to content

Generic, JavaScript-like parseInt() and parseFloat() functions for Rust.

License

Notifications You must be signed in to change notification settings

phorward/num-parse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

num-parse

Build status docs.rs crates.io License: MIT

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(), parse_uint()

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

About

Generic, JavaScript-like parseInt() and parseFloat() functions for Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages