Crate minimal_lexical[][src]

Expand description

Fast, minimal float-parsing algorithm.

minimal-lexical has a simple, high-level API with a single exported function: parse_float.

parse_float expects a forward iterator for the integer and fraction digits, as well as a parsed exponent as an i32.

For more examples, please see simple-example.


extern crate minimal_lexical;

// Let's say we want to parse "1.2345".
// First, we need an external parser to extract the integer digits ("1"),
// the fraction digits ("2345"), and then parse the exponent to a 32-bit
// integer (0).
// Warning:
// --------
//  Please note that leading zeros must be trimmed from the integer,
//  and trailing zeros must be trimmed from the fraction. This cannot
//  be handled by minimal-lexical, since we accept iterators.
let integer = b"1";
let fraction = b"2345";
let float: f64 = minimal_lexical::parse_float(integer.iter(), fraction.iter(), 0);
println!("float={:?}", float);    // 1.235


Generic floating-point type, to be used in generic code for parsing.


Parse float from extracted float components.