[−][src]Function lexical::try_parse
pub fn try_parse<N: FromBytes, Bytes: AsRef<[u8]>>(
bytes: Bytes
) -> Result<N, Error>
High-level conversion of decimal-encoded bytes to a number.
This function only returns a value if the entire string is
successfully parsed. For an unchecked version of this function,
use parse
.
bytes
- Byte slice to convert to number.
Examples
// Create our error. let err = |u| ErrorKind::InvalidDigit(u).into(); // String overloads assert_eq!(lexical::try_parse::<i32, _>("5"), Ok(5)); assert_eq!(lexical::try_parse::<i32, _>("1a"), Err(err(1))); assert_eq!(lexical::try_parse::<f32, _>("0"), Ok(0.0)); assert_eq!(lexical::try_parse::<f32, _>("1.0"), Ok(1.0)); assert_eq!(lexical::try_parse::<f32, _>("1."), Ok(1.0)); // Bytes overloads assert_eq!(lexical::try_parse::<i32, _>(b"5"), Ok(5)); assert_eq!(lexical::try_parse::<i32, _>(b"1a"), Err(err(1))); assert_eq!(lexical::try_parse::<f32, _>(b"0"), Ok(0.0)); assert_eq!(lexical::try_parse::<f32, _>(b"1.0"), Ok(1.0)); assert_eq!(lexical::try_parse::<f32, _>(b"1."), Ok(1.0));