[][src]Function lexical::try_parse_lossy

pub fn try_parse_lossy<N: FromLexicalLossy, Bytes: AsRef<[u8]>>(
    bytes: Bytes
) -> Result<N, Error>

High-level lossy conversion of decimal-encoded bytes to a number.

This function uses aggressive optimizations to avoid worst-case scenarios, and can return inaccurate results. For guaranteed accurate floats, use try_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_lossy::<f32, _>("0"), Ok(0.0));
assert_eq!(lexical::try_parse_lossy::<f32, _>("1.0"), Ok(1.0));
assert_eq!(lexical::try_parse_lossy::<f32, _>("1."), Ok(1.0));
assert_eq!(lexical::try_parse_lossy::<f32, _>("1a"), Err(err(1)));

// Bytes overloads
assert_eq!(lexical::try_parse_lossy::<f32, _>(b"0"), Ok(0.0));
assert_eq!(lexical::try_parse_lossy::<f32, _>(b"1.0"), Ok(1.0));
assert_eq!(lexical::try_parse_lossy::<f32, _>(b"1."), Ok(1.0));
assert_eq!(lexical::try_parse_lossy::<f32, _>(b"1a"), Err(err(1)));