Available on crate feature
write-floats only.Expand description
Configuration options for writing floats.
This enables extensive control over how the float is written, from control characters like the decimal point, to the use of exponent notation, and the number of significant digits.
§Examples
For example, to customize the writing of numbers for new exponent
and decimal point characters, you would use Options to create
a custom format and write the integer using the format.
use lexical_write_float::{FormattedSize, Options, ToLexicalWithOptions};
use lexical_write_float::format::STANDARD;
let value = 1.234e45f64;
const CUSTOM: Options = Options::builder()
// write exponents as "1.2^10" and not "1.2e10"
.exponent(b'^')
// use the European decimal point, so "1,2" and not "1.2"
.decimal_point(b',')
.build_strict();
const BUFFER_SIZE: usize = CUSTOM.buffer_size_const::<f64, STANDARD>();
let mut buffer = [0u8; BUFFER_SIZE];
let digits = value.to_lexical_with_options::<STANDARD>(&mut buffer, &CUSTOM);
assert_eq!(str::from_utf8(digits), Ok("1,234^45"));§Pre-Defined Formats
These are the pre-defined formats for parsing numbers from various programming, markup, and data languages.
STANDARD: Standard number format.DECIMAL_COMMA: Numerical format with a decimal comma.HEX_FLOAT: Numerical format for hexadecimal floats, which use apexponent.CARAT_EXPONENT: Numerical format where^is used as the exponent notation character.RUST_LITERAL: Number format for aRustliteral floating-point number.PYTHON_LITERAL: Number format for aPythonliteral floating-point number.CXX_LITERAL: Number format for aC++literal floating-point number.C_LITERAL: Number format for aCliteral floating-point number.RUBY_LITERAL: Number format for aRubyliteral floating-point number.RUBY_STRING: Number format to parse aRubyfloat from string.SWIFT_LITERAL: Number format for aSwiftliteral floating-point number.GO_LITERAL: Number format for aGolangliteral floating-point number.HASKELL_LITERAL: Number format for aHaskellliteral floating-point number.HASKELL_STRING: Number format to parse aHaskellfloat from string.JAVASCRIPT_LITERAL: Number format for aJavascriptliteral floating-point number.JAVASCRIPT_STRING: Number format to parse aJavascriptfloat from string.PERL_LITERAL: Number format for aPerlliteral floating-point number.PHP_LITERAL: Number format for aPHPliteral floating-point number.JAVA_LITERAL: Number format for aJavaliteral floating-point number.JAVA_STRING: Number format to parse aJavafloat from string.R_LITERAL: Number format for anRliteral floating-point number.KOTLIN_LITERAL: Number format for aKotlinliteral floating-point number.KOTLIN_STRING: Number format to parse aKotlinfloat from string.JULIA_LITERAL: Number format for aJulialiteral floating-point number.CSHARP_LITERAL: Number format for aC#literal floating-point number.CSHARP_STRING: Number format to parse aC#float from string.KAWA_LITERAL: Number format for aKawaliteral floating-point number.KAWA_STRING: Number format to parse aKawafloat from string.GAMBITC_LITERAL: Number format for aGambit-Cliteral floating-point number.GAMBITC_STRING: Number format to parse aGambit-Cfloat from string.GUILE_LITERAL: Number format for aGuileliteral floating-point number.GUILE_STRING: Number format to parse aGuilefloat from string.CLOJURE_LITERAL: Number format for aClojureliteral floating-point number.CLOJURE_STRING: Number format to parse aClojurefloat from string.ERLANG_LITERAL: Number format for anErlangliteral floating-point number.ERLANG_STRING: Number format to parse anErlangfloat from string.ELM_LITERAL: Number format for anElmliteral floating-point number.ELM_STRING: Number format to parse anElmfloat from string.SCALA_LITERAL: Number format for aScalaliteral floating-point number.SCALA_STRING: Number format to parse aScalafloat from string.ELIXIR_LITERAL: Number format for anElixirliteral floating-point number.ELIXIR_STRING: Number format to parse anElixirfloat from string.FORTRAN_LITERAL: Number format for aFORTRANliteral floating-point number.D_LITERAL: Number format for aDliteral floating-point number.COFFEESCRIPT_LITERAL: Number format for aCoffeescriptliteral floating-point number.COFFEESCRIPT_STRING: Number format to parse aCoffeescriptfloat from string.COBOL_LITERAL: Number format for aCOBOLliteral floating-point number.COBOL_STRING: Number format to parse aCOBOLfloat from string.FSHARP_LITERAL: Number format for anF#literal floating-point number.VB_LITERAL: Number format for aVisual Basicliteral floating-point number.VB_STRING: Number format to parse aVisual Basicfloat from string.OCAML_LITERAL: Number format for anOCamlliteral floating-point number.OBJECTIVEC_LITERAL: Number format for anObjective-Cliteral floating-point number.OBJECTIVEC_STRING: Number format to parse anObjective-Cfloat from string.REASONML_LITERAL: Number format for anReasonMLliteral floating-point number.MATLAB_LITERAL: Number format for aMATLABliteral floating-point number.ZIG_LITERAL: Number format for aZigliteral floating-point number.SAGE_LITERAL: Number format for aSageliteral floating-point number.JSON: Number format for aJSONliteral floating-point number.TOML: Number format for aTOMLliteral floating-point number.YAML: Number format for aYAMLliteral floating-point number.XML: Number format for anXMLliteral floating-point number.SQLITE: Number format for aSQLiteliteral floating-point number.POSTGRESQL: Number format for aPostgreSQLliteral floating-point number.MYSQL: Number format for aMySQLliteral floating-point number.MONGODB: Number format for aMongoDBliteral floating-point number.
Structs§
- Options
- Options to customize writing floats.
- Options
Builder - Builder for
Options.
Enums§
- Round
Mode - Enumeration for how to round floats with precision control.
Constants§
- CARAT_
EXPONENT - Numerical format where
^is used as the exponent notation character. - CLOJURE_
LITERAL - Number format for a
Clojureliteral floating-point number. - CLOJURE_
STRING - Number format to parse a
Clojurefloat from string. - COBOL_
LITERAL - Number format for a
COBOLliteral floating-point number. - COBOL_
STRING - Number format to parse a
COBOLfloat from string. - COFFEESCRIPT_
LITERAL - Number format for a
Coffeescriptliteral floating-point number. - COFFEESCRIPT_
STRING - Number format to parse a
Coffeescriptfloat from string. - CSHARP_
LITERAL - Number format for a
C#literal floating-point number. - CSHARP_
STRING - Number format to parse a
C#float from string. - CXX_
LITERAL - Number format for a
C++literal floating-point number. - C_
LITERAL - Number format for a
Cliteral floating-point number. - DECIMAL_
COMMA - Numerical format with a decimal comma.
- D_
LITERAL - Number format for a
Dliteral floating-point number. - ELIXIR_
LITERAL - Number format for an
Elixirliteral floating-point number. - ELIXIR_
STRING - Number format to parse an
Elixirfloat from string. - ELM_
LITERAL - Number format for an
Elmliteral floating-point number. - ELM_
STRING - Number format to parse an
Elmfloat from string. - ERLANG_
LITERAL - Number format for an
Erlangliteral floating-point number. - ERLANG_
STRING - Number format to parse an
Erlangfloat from string. - FORTRAN_
LITERAL - Number format for a
FORTRANliteral floating-point number. - FSHARP_
LITERAL - Number format for an
F#literal floating-point number. - GAMBITC_
LITERAL - Number format for a
Gambit-Cliteral floating-point number. - GAMBITC_
STRING - Number format to parse a
Gambit-Cfloat from string. - GO_
LITERAL - Number format for a
Golangliteral floating-point number. - GUILE_
LITERAL - Number format for a
Guileliteral floating-point number. - GUILE_
STRING - Number format to parse a
Guilefloat from string. - HASKELL_
LITERAL - Number format for a
Haskellliteral floating-point number. - HASKELL_
STRING - Number format to parse a
Haskellfloat from string. - HEX_
FLOAT - Numerical format for hexadecimal floats, which use a
pexponent. - JAVASCRIPT_
LITERAL - Number format for a
Javascriptliteral floating-point number. - JAVASCRIPT_
STRING - Number format to parse a
Javascriptfloat from string. - JAVA_
LITERAL - Number format for a
Javaliteral floating-point number. - JAVA_
STRING - Number format to parse a
Javafloat from string. - JSON
- Number format for a
JSONliteral floating-point number. - JULIA_
LITERAL - Number format for a
Julialiteral floating-point number. - KAWA_
LITERAL - Number format for a
Kawaliteral floating-point number. - KAWA_
STRING - Number format to parse a
Kawafloat from string. - KOTLIN_
LITERAL - Number format for a
Kotlinliteral floating-point number. - KOTLIN_
STRING - Number format to parse a
Kotlinfloat from string. - MATLAB_
LITERAL - Number format for a
MATLABliteral floating-point number. - MAX_
SPECIAL_ STRING_ LENGTH - Maximum length for a special string.
- MONGODB
- Number format for a
MongoDBliteral floating-point number. - MYSQL
- Number format for a
MySQLliteral floating-point number. - OBJECTIVEC_
LITERAL - Number format for an
Objective-Cliteral floating-point number. - OBJECTIVEC_
STRING - Number format to parse an
Objective-Cfloat from string. - OCAML_
LITERAL - Number format for an
OCamlliteral floating-point number. - PERL_
LITERAL - Number format for a
Perlliteral floating-point number. - PHP_
LITERAL - Number format for a
PHPliteral floating-point number. - POSTGRESQL
- Number format for a
PostgreSQLliteral floating-point number. - PYTHON_
LITERAL - Number format for a
Pythonliteral floating-point number. - REASONML_
LITERAL - Number format for an
ReasonMLliteral floating-point number. - RUBY_
LITERAL - Number format for a
Rubyliteral floating-point number. - RUBY_
STRING - Number format to parse a
Rubyfloat from string. - RUST_
LITERAL - Number format for a
Rustliteral floating-point number. - R_
LITERAL - Number format for an
Rliteral floating-point number. - SAGE_
LITERAL - Number format for a
Sageliteral floating-point number. - SCALA_
LITERAL - Number format for a
Scalaliteral floating-point number. - SCALA_
STRING - Number format to parse a
Scalafloat from string. - SQLITE
- Number format for a
SQLiteliteral floating-point number. - STANDARD
- Standard number format.
- SWIFT_
LITERAL - Number format for a
Swiftliteral floating-point number. - TOML
- Number format for a
TOMLliteral floating-point number. - VB_
LITERAL - Number format for a
Visual Basicliteral floating-point number. - VB_
STRING - Number format to parse a
Visual Basicfloat from string. - XML
- Number format for an
XMLliteral floating-point number. - YAML
- Number format for a
YAMLliteral floating-point number. - ZIG_
LITERAL - Number format for a
Zigliteral floating-point number.