Expand description
Public API for the number format packed struct.
This has a consistent API whether or not the format feature is
enabled, however, most functionality will be disabled if the feature
is not enabled.
§Pre-Defined Formats
These are the pre-defined formats for parsing numbers from various programming, markup, and data languages.
- STANDARD
RUST_LITERALRUST_STRINGPYTHON_LITERALPYTHON_STRINGPYTHON3_LITERALPYTHON3_STRINGPYTHON36_LITERALPYTHON35_LITERALPYTHON2_LITERALPYTHON2_STRINGCXX_LITERALCXX_STRINGCXX_HEX_LITERALCXX_HEX_STRINGCXX20_LITERALCXX20_STRINGCXX20_HEX_LITERALCXX20_HEX_STRINGCXX17_LITERALCXX17_STRINGCXX17_HEX_LITERALCXX17_HEX_STRINGCXX14_LITERALCXX14_STRINGCXX14_HEX_STRINGCXX11_LITERALCXX11_STRINGCXX11_HEX_STRINGCXX03_LITERALCXX03_STRINGCXX98_LITERALCXX98_STRINGC_LITERALC_STRINGC_HEX_LITERALC_HEX_STRINGC18_LITERALC18_STRINGC18_HEX_LITERALC18_HEX_STRINGC11_LITERALC11_STRINGC11_HEX_LITERALC11_HEX_STRINGC99_LITERALC99_STRINGC99_HEX_LITERALC99_HEX_STRINGC90_LITERALC90_STRINGC90_HEX_STRINGC89_LITERALC89_STRINGC89_HEX_STRINGRUBY_LITERALRUBY_OCTAL_LITERALRUBY_STRINGSWIFT_LITERALSWIFT_STRINGGO_LITERALGO_STRINGHASKELL_LITERALHASKELL_STRINGJAVASCRIPT_LITERALJAVASCRIPT_STRINGPERL_LITERALPERL_STRINGPHP_LITERALPHP_STRINGJAVA_LITERALJAVA_STRINGR_LITERALR_STRINGKOTLIN_LITERALKOTLIN_STRINGJULIA_LITERALJULIA_STRINGJULIA_HEX_LITERALJULIA_HEX_STRINGCSHARP_LITERALCSHARP_STRINGCSHARP7_LITERALCSHARP7_STRINGCSHARP6_LITERALCSHARP6_STRINGCSHARP5_LITERALCSHARP5_STRINGCSHARP4_LITERALCSHARP4_STRINGCSHARP3_LITERALCSHARP3_STRINGCSHARP2_LITERALCSHARP2_STRINGCSHARP1_LITERALCSHARP1_STRINGKAWA_LITERALKAWA_STRINGGAMBITC_LITERALGAMBITC_STRINGGUILE_LITERALGUILE_STRINGCLOJURE_LITERALCLOJURE_STRINGERLANG_LITERALERLANG_STRINGELM_LITERALELM_STRINGSCALA_LITERALSCALA_STRINGELIXIR_LITERALELIXIR_STRINGFORTRAN_LITERALFORTRAN_STRINGD_LITERALD_STRINGCOFFEESCRIPT_LITERALCOFFEESCRIPT_STRINGCOBOL_LITERALCOBOL_STRINGFSHARP_LITERALFSHARP_STRINGVB_LITERALVB_STRINGOCAML_LITERALOCAML_STRINGOBJECTIVEC_LITERALOBJECTIVEC_STRINGREASONML_LITERALREASONML_STRINGOCTAVE_LITERALOCTAVE_STRINGMATLAB_LITERALMATLAB_STRINGZIG_LITERALZIG_STRINGSAGE_LITERALSAGE_STRINGJSONTOMLYAMLXMLSQLITEPOSTGRESQLMYSQLMONGODB
§Syntax Flags
Bitflags to get and set syntax flags for the format packed struct.
REQUIRED_INTEGER_DIGITSREQUIRED_FRACTION_DIGITSREQUIRED_EXPONENT_DIGITSREQUIRED_MANTISSA_DIGITSREQUIRED_DIGITSNO_POSITIVE_MANTISSA_SIGNREQUIRED_MANTISSA_SIGNNO_EXPONENT_NOTATIONNO_POSITIVE_EXPONENT_SIGNREQUIRED_EXPONENT_SIGNNO_EXPONENT_WITHOUT_FRACTIONNO_SPECIALCASE_SENSITIVE_SPECIALNO_INTEGER_LEADING_ZEROSNO_FLOAT_LEADING_ZEROSREQUIRED_EXPONENT_NOTATIONCASE_SENSITIVE_EXPONENTCASE_SENSITIVE_BASE_PREFIXCASE_SENSITIVE_BASE_SUFFIX
§Digit Separator Flags
Bitflags to get and set digit separators flags for the format packed struct.
INTEGER_INTERNAL_DIGIT_SEPARATORFRACTION_INTERNAL_DIGIT_SEPARATOREXPONENT_INTERNAL_DIGIT_SEPARATORINTEGER_LEADING_DIGIT_SEPARATORFRACTION_LEADING_DIGIT_SEPARATOREXPONENT_LEADING_DIGIT_SEPARATORINTEGER_TRAILING_DIGIT_SEPARATORFRACTION_TRAILING_DIGIT_SEPARATOREXPONENT_TRAILING_DIGIT_SEPARATORINTEGER_CONSECUTIVE_DIGIT_SEPARATORFRACTION_CONSECUTIVE_DIGIT_SEPARATOREXPONENT_CONSECUTIVE_DIGIT_SEPARATORINTERNAL_DIGIT_SEPARATORLEADING_DIGIT_SEPARATORTRAILING_DIGIT_SEPARATORCONSECUTIVE_DIGIT_SEPARATORSPECIAL_DIGIT_SEPARATOR
§Character Shifts and Masks
Bitmasks and bit shifts to get and set control characters for the format packed struct.
DIGIT_SEPARATOR_SHIFTDIGIT_SEPARATORBASE_PREFIX_SHIFTBASE_PREFIXBASE_SUFFIX_SHIFTBASE_SUFFIXMANTISSA_RADIX_SHIFTMANTISSA_RADIXRADIX_SHIFTRADIXEXPONENT_BASE_SHIFTEXPONENT_BASEEXPONENT_RADIX_SHIFTEXPONENT_RADIX
§Character Functions
Functions to get control characters from the format packed struct.
digit_separatorbase_prefixbase_suffixmantissa_radixexponent_baseexponent_radixradix_from_flags
§Validators
Functions to validate control characters for the format packed struct.
Structs§
- Number
Format Builder - Build number format from specifications.
Constants§
- BASE_
PREFIX - Mask to extract the base prefix character.
- BASE_
PREFIX_ SHIFT - Shift to convert to and from a base prefix as a
u8. - BASE_
SUFFIX - Mask to extract the base suffix character.
- BASE_
SUFFIX_ SHIFT - Shift to convert to and from a base suffix as a
u8. - C11_
HEX_ LITERAL - Number format for a
C11literal hexadecimal floating-point number. - C11_
HEX_ STRING - Number format for a
C11string hexadecimal floating-point number. - C11_
LITERAL - Number format for a
C11literal floating-point number. - C11_
STRING - Number format for a
C11string floating-point number. - C18_
HEX_ LITERAL - Number format for a
C18literal hexadecimal floating-point number. - C18_
HEX_ STRING - Number format for a
C18string hexadecimal floating-point number. - C18_
LITERAL - Number format for a
C18literal floating-point number. - C18_
STRING - Number format for a
C18string floating-point number. - C89_
HEX_ STRING - Number format for a
C89string hexadecimal floating-point number. - C89_
LITERAL - Number format for a
C89literal floating-point number. - C89_
STRING - Number format for a
C89string floating-point number. - C90_
HEX_ STRING - Number format for a
C90string hexadecimal floating-point number. - C90_
LITERAL - Number format for a
C90literal floating-point number. - C90_
STRING - Number format for a
C90string floating-point number. - C99_
HEX_ LITERAL - Number format for a
C99literal hexadecimal floating-point number. - C99_
HEX_ STRING - Number format for a
C99string hexadecimal floating-point number. - C99_
LITERAL - Number format for a
C99literal floating-point number. - C99_
STRING - Number format for a
C99string floating-point number. - CASE_
SENSITIVE_ BASE_ PREFIX - Base prefixes are case-sensitive.
- CASE_
SENSITIVE_ BASE_ SUFFIX - Base suffixes are case-sensitive.
- CASE_
SENSITIVE_ EXPONENT - Exponent characters are case-sensitive.
- CASE_
SENSITIVE_ SPECIAL - Special (non-finite) values are case-sensitive.
- 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. - CONSECUTIVE_
DIGIT_ SEPARATOR - Multiple consecutive digit separators are allowed.
- CSHAR
P1_ LITERAL - Number format for a
C#1literal floating-point number. - CSHAR
P1_ STRING - Number format to parse a
C#1float from string. - CSHAR
P2_ LITERAL - Number format for a
C#2literal floating-point number. - CSHAR
P2_ STRING - Number format to parse a
C#2float from string. - CSHAR
P3_ LITERAL - Number format for a
C#3literal floating-point number. - CSHAR
P3_ STRING - Number format to parse a
C#3float from string. - CSHAR
P4_ LITERAL - Number format for a
C#4literal floating-point number. - CSHAR
P4_ STRING - Number format to parse a
C#4float from string. - CSHAR
P5_ LITERAL - Number format for a
C#5literal floating-point number. - CSHAR
P5_ STRING - Number format to parse a
C#5float from string. - CSHAR
P6_ LITERAL - Number format for a
C#6literal floating-point number. - CSHAR
P6_ STRING - Number format to parse a
C#6float from string. - CSHAR
P7_ LITERAL - Number format for a
C#7literal floating-point number. - CSHAR
P7_ STRING - Number format to parse a
C#7float from string. - CSHARP_
LITERAL - Number format for a
C#literal floating-point number. - CSHARP_
STRING - Number format to parse a
C#float from string. - CXX03_
LITERAL - Number format for a
C++03literal floating-point number. - CXX03_
STRING - Number format for a
C++03string floating-point number. - CXX11_
HEX_ STRING - Number format for a
C++11string hexadecimal floating-point number. - CXX11_
LITERAL - Number format for a
C++11literal floating-point number. - CXX11_
STRING - Number format for a
C++11string floating-point number. - CXX14_
HEX_ STRING - Number format for a
C++14string hexadecimal floating-point number. - CXX14_
LITERAL - Number format for a
C++14literal floating-point number. - CXX14_
STRING - Number format for a
C++14string floating-point number. - CXX17_
HEX_ LITERAL - Number format for a
C++17literal hexadecimal floating-point number. - CXX17_
HEX_ STRING - Number format for a
C++17string hexadecimal floating-point number. - CXX17_
LITERAL - Number format for a
C++17literal floating-point number. - CXX17_
STRING - Number format for a
C++17string floating-point number. - CXX20_
HEX_ LITERAL - Number format for a
C++20literal hexadecimal floating-point number. - CXX20_
HEX_ STRING - Number format for a
C++20string hexadecimal floating-point number. - CXX20_
LITERAL - Number format for a
C++20literal floating-point number. - CXX20_
STRING - Number format for a
C++20string floating-point number. - CXX98_
LITERAL - Number format for a
C++98literal floating-point number. - CXX98_
STRING - Number format for a
C++98string floating-point number. - CXX_
HEX_ LITERAL - Number format for a
C++literal hexadecimal floating-point number. - CXX_
HEX_ STRING - Number format to parse a
C++hexadecimal float from string. - CXX_
LITERAL - Number format for a
C++literal floating-point number. - CXX_
STRING - Number format to parse a
C++float from string. - C_
HEX_ LITERAL - Number format for a
Cliteral hexadecimal floating-point number. - C_
HEX_ STRING - Number format to parse a
Chexadecimal float from string. - C_
LITERAL - Number format for a C literal floating-point number.
- C_
STRING - Number format to parse a
Cfloat from string. - DIGIT_
SEPARATOR - Mask to extract the digit separator character.
- DIGIT_
SEPARATOR_ SHIFT - Shift to convert to and from a digit separator as a
u8. - D_
LITERAL - Number format for a
Dliteral floating-point number. - D_
STRING - Number format to parse a
Dfloat from string. - 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. - EXPONENT_
BASE - Mask to extract the exponent base: the base the exponent is raised to.
- EXPONENT_
BASE_ SHIFT - Shift to convert to and from an exponent base as a
u32. - EXPONENT_
CONSECUTIVE_ DIGIT_ SEPARATOR - Multiple consecutive exponent digit separators are allowed.
- EXPONENT_
INTERNAL_ DIGIT_ SEPARATOR - Digit separators are allowed between exponent digits.
- EXPONENT_
LEADING_ DIGIT_ SEPARATOR - A digit separator is allowed before any exponent digits.
- EXPONENT_
RADIX - Mask to extract the exponent radix: the radix for the exponent digits.
- EXPONENT_
RADIX_ SHIFT - Shift to convert to and from an exponent radix as a
u32. - EXPONENT_
TRAILING_ DIGIT_ SEPARATOR - A digit separator is allowed after any exponent digits.
- FORTRAN_
LITERAL - Number format for a
FORTRANliteral floating-point number. - FORTRAN_
STRING - Number format to parse a
FORTRANfloat from string. - FRACTION_
CONSECUTIVE_ DIGIT_ SEPARATOR - Multiple consecutive fraction digit separators are allowed.
- FRACTION_
INTERNAL_ DIGIT_ SEPARATOR - Digit separators are allowed between fraction digits.
- FRACTION_
LEADING_ DIGIT_ SEPARATOR - A digit separator is allowed before any fraction digits.
- FRACTION_
TRAILING_ DIGIT_ SEPARATOR - A digit separator is allowed after any fraction digits.
- FSHARP_
LITERAL - Number format for a
F#literal floating-point number. - FSHARP_
STRING - Number format to parse a
F#float from string. - 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. - GO_
STRING - Number format to parse a
Golangfloat from string. - 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. - INTEGER_
CONSECUTIVE_ DIGIT_ SEPARATOR - Multiple consecutive integer digit separators are allowed.
- INTEGER_
INTERNAL_ DIGIT_ SEPARATOR - Digit separators are allowed between integer digits.
- INTEGER_
LEADING_ DIGIT_ SEPARATOR - A digit separator is allowed before any integer digits.
- INTEGER_
TRAILING_ DIGIT_ SEPARATOR - A digit separator is allowed after any integer digits.
- INTERNAL_
DIGIT_ SEPARATOR - Digit separators are allowed between digits.
- 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_
HEX_ LITERAL - Number format for a
Julialiteral floating-point number. - JULIA_
HEX_ STRING - Number format to parse a
Juliafloat from string. - JULIA_
LITERAL - Number format for a
Julialiteral floating-point number. - JULIA_
STRING - Number format to parse a
Juliafloat from string. - 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. - LEADING_
DIGIT_ SEPARATOR - A digit separator is allowed before any digits.
- MANTISSA_
RADIX - Mask to extract the mantissa radix: the radix for the significant digits.
- MANTISSA_
RADIX_ SHIFT - Shift to convert to and from a mantissa radix as a
u32. - MATLAB_
LITERAL - Number format for an
Matlabliteral floating-point number. - MATLAB_
STRING - Number format to parse an
Matlabfloat from string. - MONGODB
- Number format for a
MongoDBliteral floating-point number. - MYSQL
- Number format for a
MySQLliteral floating-point number. - NO_
EXPONENT_ NOTATION - Exponent notation is not allowed.
- NO_
EXPONENT_ WITHOUT_ FRACTION - Exponent without a fraction component is not allowed.
- NO_
FLOAT_ LEADING_ ZEROS - Leading zeros before a float value are not allowed.
- NO_
INTEGER_ LEADING_ ZEROS - Leading zeros before an integer value are not allowed.
- NO_
POSITIVE_ EXPONENT_ SIGN - Positive sign before the exponent is not allowed.
- NO_
POSITIVE_ MANTISSA_ SIGN - Positive sign before the mantissa is not allowed.
- NO_
SPECIAL - Special (non-finite) values are not allowed.
- 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. - OCAML_
STRING - Number format to parse an
OCamlfloat from string. - OCTAVE_
LITERAL - Number format for an
Octaveliteral floating-point number. - OCTAVE_
STRING - Number format to parse an
Octavefloat from string. - PERL_
LITERAL - Number format for a
Perlliteral floating-point number. - PERL_
STRING - Number format to parse a
Perlfloat from string. - PHP_
LITERAL - Number format for a
PHPliteral floating-point number. - PHP_
STRING - Number format to parse a
PHPfloat from string. - POSTGRESQL
- Number format for a
PostgreSQLliteral floating-point number. - PYTHO
N2_ LITERAL - Number format for a
Python2literal floating-point number. - PYTHO
N2_ STRING - Number format to parse a
Python2float from string. - PYTHO
N3_ LITERAL - Number format for a
Python3literal floating-point number. - PYTHO
N3_ STRING - Number format to parse a
Python3float from string. - PYTHO
N35_ LITERAL - Number format for a
Python3.5or lower literal floating-point number. - PYTHO
N36_ LITERAL - Number format for a
Python3.6or higher literal floating-point number. - PYTHON_
LITERAL - Number format for a
Pythonliteral floating-point number. - PYTHON_
STRING - Number format to parse a
Pythonfloat from string. - RADIX
- Alias for
MANTISSA_RADIX. - RADIX_
SHIFT - Alias for
MANTISSA_RADIX_SHIFT. - REASONML_
LITERAL - Number format for a
ReasonMLliteral floating-point number. - REASONML_
STRING - Number format to parse a
ReasonMLfloat from string. - REQUIRED_
DIGITS - At least 1 digit in the number is required.
- REQUIRED_
EXPONENT_ DIGITS - Digits are required after the exponent character. This check will only occur if the exponent character is present.
- REQUIRED_
EXPONENT_ NOTATION - Exponent notation is required.
- REQUIRED_
EXPONENT_ SIGN - Positive sign before the exponent is required.
- REQUIRED_
FRACTION_ DIGITS - Digits are required after the decimal point. This check will only occur if the decimal point is present.
- REQUIRED_
INTEGER_ DIGITS - Digits are required before the decimal point.
- REQUIRED_
MANTISSA_ DIGITS - Mantissa digits are required (either before or after the decimal point).
- REQUIRED_
MANTISSA_ SIGN - Positive sign before the mantissa is required.
- RUBY_
LITERAL - Number format for a
Rubyliteral floating-point number. - RUBY_
OCTAL_ 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. - RUST_
STRING - Number format to parse a
Rustfloat from string. - R_
LITERAL - Number format for a
Rliteral floating-point number. - R_
STRING - Number format to parse a
Rfloat from string. - SAGE_
LITERAL - Number format for a
Sageliteral floating-point number. - SAGE_
STRING - Number format to parse a
Sagefloat from string. - SCALA_
LITERAL - Number format for a
Scalaliteral floating-point number. - SCALA_
STRING - Number format to parse a
Scalafloat from string. - SPECIAL_
DIGIT_ SEPARATOR - Any digit separators are allowed in special (non-finite) values.
- SQLITE
- Number format for a
SQLiteliteral floating-point number. - STANDARD
- Standard number format. This is identical to the Rust string format.
- SWIFT_
LITERAL - Number format for a
Swiftliteral floating-point number. - SWIFT_
STRING - Number format to parse a
Swiftfloat from string. - TOML
- Number format for a
TOMLliteral floating-point number. - TRAILING_
DIGIT_ SEPARATOR - A digit separator is allowed after any digits.
- 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 a
XMLliteral floating-point number. - YAML
- Number format for a
YAMLliteral floating-point number. - ZIG_
LITERAL - Number format for a
Zigliteral floating-point number. - ZIG_
STRING - Number format to parse a
Zigfloat from string.
Functions§
- base_
prefix - Extract the base prefix character from the format packed struct.
- base_
suffix - Extract the base suffix character from the format packed struct.
- digit_
separator - Extract the digit separator from the format packed struct.
- exponent_
base - Extract the exponent base from the format packed struct.
If not provided, defaults to
mantissa_radix. - exponent_
radix - Extract the exponent radix from the format packed struct.
If not provided, defaults to
mantissa_radix. - format_
error - Get the error type from the format packed struct.
- format_
is_ valid - Determine if the format packed struct is valid.
- is_
valid_ base_ prefix - Determine if the base prefix character is valid.
- is_
valid_ base_ suffix - Determine if the base suffix character is valid.
- is_
valid_ digit_ separator - Determine if the digit separator is valid. Digit separators must not be valid digits or sign characters.
- is_
valid_ exponent_ flags - Determine if the provided exponent flags are valid.
- is_
valid_ options_ punctuation - Determine if all of the “punctuation” characters for the options API are valid.
- is_
valid_ punctuation - Determine if all of the “punctuation” characters are valid.
- is_
valid_ radix - Determine if the radix is valid.
- mantissa_
radix - Extract the mantissa radix from the format packed struct.
- radix_
from_ flags - Extract a generic radix from the format and bitflags.
Type Aliases§
- Option
U8 - Type with the exact same size as a
u8.