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