[−][src]Crate fast_float
This crate provides a super-fast decimal number parser from strings into floats.
Usage
There's two top-level functions provided: parse
and
parse_partial
, both taking
either a string or a bytes slice and parsing the input into either f32
or f64
:
parse
treats the whole string as a decimal number and returns an error if there are invalid characters or if the string is empty.parse_partial
tries to find the longest substring at the beginning of the given input string that can be parsed as a decimal number and, in the case of success, returns the parsed value along the number of characters processed; an error is returned if the string doesn't start with a decimal number or if it is empty. This function is most useful as a building block when constructing more complex parsers, or when parsing streams of data.
Examples
// Parse the entire string as a decimal number. let s = "1.23e-02"; let x: f32 = fast_float::parse(s).unwrap(); assert_eq!(x, 0.0123); // Parse as many characters as possible as a decimal number. let s = "1.23e-02foo"; let (x, n) = fast_float::parse_partial::<f32, _>(s).unwrap(); assert_eq!(x, 0.0123); assert_eq!(n, 8); assert_eq!(&s[n..], "foo");
Structs
Error | Opaque error type for fast-float parsing functions. |
Traits
FastFloat | Trait for numerical float types that can be parsed from string. |
Functions
parse | Parse a decimal number from string into float (full). |
parse_partial | Parse a decimal number from string into float (partial). |
Type Definitions
Result | Result type alias for fast-float parsing functions. |