[−][src]Function lexical::try_parse_radix
pub fn try_parse_radix<N: Aton, Bytes: AsRef<[u8]>>(
bytes: Bytes,
radix: u8
) -> Result<N, usize>
High-level conversion of bytes to a number with a custom radix.
This function only returns a value if the entire string is
successfully parsed. For an unchecked version of this function,
use parse_radix
.
bytes
- Byte slice to convert to number.radix
- Number of unique digits for the number (base).
Examples
// String overloads assert_eq!(lexical::try_parse_radix::<i32, _>("5", 10), Ok(5)); assert_eq!(lexical::try_parse_radix::<i32, _>("1a", 10), Err(1)); assert_eq!(lexical::try_parse_radix::<i32, _>("1.", 10), Err(1)); assert_eq!(lexical::try_parse_radix::<f32, _>("0", 10), Ok(0.0)); assert_eq!(lexical::try_parse_radix::<f32, _>("1.0", 10), Ok(1.0)); assert_eq!(lexical::try_parse_radix::<f32, _>("1.", 10), Err(1)); assert_eq!(lexical::try_parse_radix::<f32, _>("1.0.", 10), Err(3)); // Bytes overloads assert_eq!(lexical::try_parse_radix::<i32, _>(b"5", 10), Ok(5)); assert_eq!(lexical::try_parse_radix::<i32, _>(b"1a", 10), Err(1)); assert_eq!(lexical::try_parse_radix::<f32, _>(b"0", 10), Ok(0.0)); assert_eq!(lexical::try_parse_radix::<f32, _>(b"1.0", 10), Ok(1.0)); assert_eq!(lexical::try_parse_radix::<f32, _>(b"1.", 10), Err(1)); assert_eq!(lexical::try_parse_radix::<f32, _>(b"1.0.", 10), Err(3));