pub struct NumberFormat<const FORMAT: u128>;Expand description
Helper to access features from the packed format struct.
Some of the core functionality includes support for:
- Digit separators: ignored characters used to make numbers more readable,
such as
100,000. - Non-decimal radixes: writing or parsing numbers written in binary, hexadecimal, or other bases.
- Special numbers: disabling support for special floating-point, such as
NaN. - Number components: require signs, significant digits, and more.
The following values are explicitly set, and therefore not configurable:
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_suffixinteger_internal_digit_separatorfraction_internal_digit_separatorexponent_internal_digit_separatorinternal_digit_separatorinteger_leading_digit_separatorfraction_leading_digit_separatorexponent_leading_digit_separatorleading_digit_separatorinteger_trailing_digit_separatorfraction_trailing_digit_separatorexponent_trailing_digit_separatortrailing_digit_separatorinteger_consecutive_digit_separatorfraction_consecutive_digit_separatorexponent_consecutive_digit_separatorconsecutive_digit_separatorspecial_digit_separatordigit_separatorbase_prefixbase_suffixexponent_baseexponent_radix
This should always be constructed via NumberFormatBuilder.
See NumberFormatBuilder for the fields for the packed struct.
Implementations§
Source§impl<const FORMAT: u128> NumberFormat<FORMAT>
impl<const FORMAT: u128> NumberFormat<FORMAT>
Sourcepub const REQUIRED_INTEGER_DIGITS: bool = false
pub const REQUIRED_INTEGER_DIGITS: bool = false
If digits are required before the decimal point.
Sourcepub const REQUIRED_FRACTION_DIGITS: bool = false
pub const REQUIRED_FRACTION_DIGITS: bool = false
If digits are required after the decimal point.
Sourcepub const REQUIRED_EXPONENT_DIGITS: bool = true
pub const REQUIRED_EXPONENT_DIGITS: bool = true
If digits are required after the exponent character.
Sourcepub const REQUIRED_MANTISSA_DIGITS: bool = true
pub const REQUIRED_MANTISSA_DIGITS: bool = true
If significant digits are required.
Sourcepub const REQUIRED_DIGITS: bool = true
pub const REQUIRED_DIGITS: bool = true
If at least 1 digit in the number is required.
See required_digits.
Sourcepub const NO_POSITIVE_MANTISSA_SIGN: bool = false
pub const NO_POSITIVE_MANTISSA_SIGN: bool = false
If a positive sign before the mantissa is not allowed.
Sourcepub const REQUIRED_MANTISSA_SIGN: bool = false
pub const REQUIRED_MANTISSA_SIGN: bool = false
If a sign symbol before the mantissa is required.
Sourcepub const NO_EXPONENT_NOTATION: bool = false
pub const NO_EXPONENT_NOTATION: bool = false
If exponent notation is not allowed.
See no_exponent_notation.
Sourcepub const NO_POSITIVE_EXPONENT_SIGN: bool = false
pub const NO_POSITIVE_EXPONENT_SIGN: bool = false
If a positive sign before the exponent is not allowed.
Sourcepub const REQUIRED_EXPONENT_SIGN: bool = false
pub const REQUIRED_EXPONENT_SIGN: bool = false
If a sign symbol before the exponent is required.
Sourcepub const NO_EXPONENT_WITHOUT_FRACTION: bool = false
pub const NO_EXPONENT_WITHOUT_FRACTION: bool = false
If an exponent without fraction is not allowed.
Sourcepub const NO_SPECIAL: bool = false
pub const NO_SPECIAL: bool = false
If special (non-finite) values are not allowed.
See no_special.
Sourcepub const CASE_SENSITIVE_SPECIAL: bool = false
pub const CASE_SENSITIVE_SPECIAL: bool = false
If special (non-finite) values are case-sensitive.
Sourcepub const NO_INTEGER_LEADING_ZEROS: bool = false
pub const NO_INTEGER_LEADING_ZEROS: bool = false
If leading zeros before an integer are not allowed.
Sourcepub const NO_FLOAT_LEADING_ZEROS: bool = false
pub const NO_FLOAT_LEADING_ZEROS: bool = false
If leading zeros before a float are not allowed.
Sourcepub const REQUIRED_EXPONENT_NOTATION: bool = false
pub const REQUIRED_EXPONENT_NOTATION: bool = false
If exponent notation is required.
Sourcepub const CASE_SENSITIVE_EXPONENT: bool = false
pub const CASE_SENSITIVE_EXPONENT: bool = false
If exponent characters are case-sensitive.
Sourcepub const CASE_SENSITIVE_BASE_PREFIX: bool = false
pub const CASE_SENSITIVE_BASE_PREFIX: bool = false
If base prefixes are case-sensitive.
Sourcepub const CASE_SENSITIVE_BASE_SUFFIX: bool = false
pub const CASE_SENSITIVE_BASE_SUFFIX: bool = false
If base suffixes are case-sensitive.
Sourcepub const INTEGER_INTERNAL_DIGIT_SEPARATOR: bool = false
pub const INTEGER_INTERNAL_DIGIT_SEPARATOR: bool = false
This will not consider an input of only the digit separator to be a valid separator: the digit separator must be surrounded by digits.
Sourcepub const FRACTION_INTERNAL_DIGIT_SEPARATOR: bool = false
pub const FRACTION_INTERNAL_DIGIT_SEPARATOR: bool = false
If digit separators are allowed between fraction digits.
This will not consider an input of only the digit separator to be a valid separator: the digit separator must be surrounded by digits.
Sourcepub const EXPONENT_INTERNAL_DIGIT_SEPARATOR: bool = false
pub const EXPONENT_INTERNAL_DIGIT_SEPARATOR: bool = false
If digit separators are allowed between exponent digits.
This will not consider an input of only the digit separator to be a valid separator: the digit separator must be surrounded by digits.
Sourcepub const INTERNAL_DIGIT_SEPARATOR: bool = false
pub const INTERNAL_DIGIT_SEPARATOR: bool = false
If digit separators are allowed between digits.
This will not consider an input of only the digit separator to be a valid separator: the digit separator must be surrounded by digits.
Sourcepub const INTEGER_LEADING_DIGIT_SEPARATOR: bool = false
pub const INTEGER_LEADING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed before any integer digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const FRACTION_LEADING_DIGIT_SEPARATOR: bool = false
pub const FRACTION_LEADING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed before any integer digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const EXPONENT_LEADING_DIGIT_SEPARATOR: bool = false
pub const EXPONENT_LEADING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed before any exponent digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const LEADING_DIGIT_SEPARATOR: bool = false
pub const LEADING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed before any digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const INTEGER_TRAILING_DIGIT_SEPARATOR: bool = false
pub const INTEGER_TRAILING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed after any integer digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const FRACTION_TRAILING_DIGIT_SEPARATOR: bool = false
pub const FRACTION_TRAILING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed after any fraction digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const EXPONENT_TRAILING_DIGIT_SEPARATOR: bool = false
pub const EXPONENT_TRAILING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed after any exponent digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const TRAILING_DIGIT_SEPARATOR: bool = false
pub const TRAILING_DIGIT_SEPARATOR: bool = false
If a digit separator is allowed after any digits.
This will consider an input of only the digit separator to be a identical to empty input.
Sourcepub const INTEGER_CONSECUTIVE_DIGIT_SEPARATOR: bool = false
pub const INTEGER_CONSECUTIVE_DIGIT_SEPARATOR: bool = false
If multiple consecutive integer digit separators are allowed.
Sourcepub const FRACTION_CONSECUTIVE_DIGIT_SEPARATOR: bool = false
pub const FRACTION_CONSECUTIVE_DIGIT_SEPARATOR: bool = false
If multiple consecutive fraction digit separators are allowed.
Sourcepub const EXPONENT_CONSECUTIVE_DIGIT_SEPARATOR: bool = false
pub const EXPONENT_CONSECUTIVE_DIGIT_SEPARATOR: bool = false
If multiple consecutive exponent digit separators are allowed.
Sourcepub const CONSECUTIVE_DIGIT_SEPARATOR: bool = false
pub const CONSECUTIVE_DIGIT_SEPARATOR: bool = false
If multiple consecutive digit separators are allowed.
Sourcepub const SPECIAL_DIGIT_SEPARATOR: bool = false
pub const SPECIAL_DIGIT_SEPARATOR: bool = false
If any digit separators are allowed in special (non-finite) values.
Sourcepub const DIGIT_SEPARATOR: u8 = 0u8
pub const DIGIT_SEPARATOR: u8 = 0u8
The digit separator character in the packed struct.
See digit_separator.
Sourcepub const BASE_PREFIX: u8 = 0u8
pub const BASE_PREFIX: u8 = 0u8
The base prefix character in the packed struct.
See base_prefix.
Sourcepub const BASE_SUFFIX: u8 = 0u8
pub const BASE_SUFFIX: u8 = 0u8
The base suffix character in the packed struct.
See base_suffix.
Sourcepub const MANTISSA_RADIX: u32
pub const MANTISSA_RADIX: u32
The radix for the significant digits in the packed struct.
See mantissa_radix.
Sourcepub const RADIX: u32 = Self::MANTISSA_RADIX
pub const RADIX: u32 = Self::MANTISSA_RADIX
The radix for the significant digits in the packed struct.
Alias for MANTISSA_RADIX.
Sourcepub const EXPONENT_BASE: u32
pub const EXPONENT_BASE: u32
The base for the exponent.
See exponent_base.
Sourcepub const EXPONENT_RADIX: u32
pub const EXPONENT_RADIX: u32
The radix for the exponent digits.
See exponent_radix.
Sourcepub const fn new() -> NumberFormat<FORMAT>
pub const fn new() -> NumberFormat<FORMAT>
Create new instance (for methods and validation).
This uses the same settings as in the FORMAT packed struct.
Sourcepub const fn is_valid_radix(&self) -> bool
pub const fn is_valid_radix(&self) -> bool
Determine if the radixes in the number format are valid.
Sourcepub const fn error_radix(&self) -> Error
pub const fn error_radix(&self) -> Error
Get the error type from the radix-only for the format.
If Error::Success is returned, then no error occurred.
Sourcepub const fn required_integer_digits(&self) -> bool
pub const fn required_integer_digits(&self) -> bool
Sourcepub const fn required_fraction_digits(&self) -> bool
pub const fn required_fraction_digits(&self) -> bool
Sourcepub const fn required_exponent_digits(&self) -> bool
pub const fn required_exponent_digits(&self) -> bool
Sourcepub const fn required_mantissa_digits(&self) -> bool
pub const fn required_mantissa_digits(&self) -> bool
Sourcepub const fn required_digits(&self) -> bool
pub const fn required_digits(&self) -> bool
Sourcepub const fn no_positive_mantissa_sign(&self) -> bool
pub const fn no_positive_mantissa_sign(&self) -> bool
Sourcepub const fn required_mantissa_sign(&self) -> bool
pub const fn required_mantissa_sign(&self) -> bool
Sourcepub const fn no_exponent_notation(&self) -> bool
pub const fn no_exponent_notation(&self) -> bool
Sourcepub const fn no_positive_exponent_sign(&self) -> bool
pub const fn no_positive_exponent_sign(&self) -> bool
Sourcepub const fn required_exponent_sign(&self) -> bool
pub const fn required_exponent_sign(&self) -> bool
Sourcepub const fn no_exponent_without_fraction(&self) -> bool
pub const fn no_exponent_without_fraction(&self) -> bool
Sourcepub const fn no_special(&self) -> bool
pub const fn no_special(&self) -> bool
Sourcepub const fn case_sensitive_special(&self) -> bool
pub const fn case_sensitive_special(&self) -> bool
Get if special (non-finite) values are case-sensitive.
If set to true, then NaN and nan are treated as the same value
(Not a Number). Can only be modified with
feature format. Defaults to false.
§Used For
- Parse Float
Sourcepub const fn no_integer_leading_zeros(&self) -> bool
pub const fn no_integer_leading_zeros(&self) -> bool
Sourcepub const fn no_float_leading_zeros(&self) -> bool
pub const fn no_float_leading_zeros(&self) -> bool
Get if leading zeros before a float are not allowed.
This is before the significant digits of the float, that is, if there is
1 or more digits in the integral component and the leading digit is 0,
Can only be modified with feature format. Defaults
to false.
§Examples
| Input | Valid? |
|---|---|
01 | ❌ |
01.0 | ❌ |
0 | ✔️ |
10 | ✔️ |
0.1 | ✔️ |
§Used For
- Parse Float
Sourcepub const fn required_exponent_notation(&self) -> bool
pub const fn required_exponent_notation(&self) -> bool
Sourcepub const fn case_sensitive_exponent(&self) -> bool
pub const fn case_sensitive_exponent(&self) -> bool
Sourcepub const fn case_sensitive_base_prefix(&self) -> bool
pub const fn case_sensitive_base_prefix(&self) -> bool
Sourcepub const fn case_sensitive_base_suffix(&self) -> bool
pub const fn case_sensitive_base_suffix(&self) -> bool
Sourcepub const fn integer_internal_digit_separator(&self) -> bool
pub const fn integer_internal_digit_separator(&self) -> bool
Get if digit separators are allowed between integer digits.
This will not consider an input of only the digit separator
to be a valid separator: the digit separator must be surrounded by
digits. Can only be modified with feature format.
Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1 | ✔️ |
_ | ❌ |
1_1 | ✔️ |
1_ | ❌ |
_1 | ❌ |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn fraction_internal_digit_separator(&self) -> bool
pub const fn fraction_internal_digit_separator(&self) -> bool
Get if digit separators are allowed between fraction digits.
This will not consider an input of only the digit separator
to be a valid separator: the digit separator must be surrounded by
digits. Can only be modified with feature format.
Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1.1 | ✔️ |
1._ | ❌ |
1.1_1 | ✔️ |
1.1_ | ❌ |
1._1 | ❌ |
§Used For
- Parse Float
Sourcepub const fn exponent_internal_digit_separator(&self) -> bool
pub const fn exponent_internal_digit_separator(&self) -> bool
Get if digit separators are allowed between exponent digits.
This will not consider an input of only the digit separator
to be a valid separator: the digit separator must be surrounded by
digits. Can only be modified with feature format.
Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1.1e1 | ✔️ |
1.1e_ | ❌ |
1.1e1_1 | ✔️ |
1.1e1_ | ❌ |
1.1e_1 | ❌ |
§Used For
- Parse Float
Sourcepub const fn internal_digit_separator(&self) -> bool
pub const fn internal_digit_separator(&self) -> bool
Get if digit separators are allowed between digits.
This will not consider an input of only the digit separator
to be a valid separator: the digit separator must be surrounded by
digits. This is equivalent to any of
integer_internal_digit_separator,
fraction_internal_digit_separator, or
exponent_internal_digit_separator being set.
Sourcepub const fn integer_leading_digit_separator(&self) -> bool
pub const fn integer_leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any integer digits.
This will consider an input of only the digit separator
to be a identical to empty input. Can only be modified with
feature format. Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1 | ✔️ |
_ | ❌ |
1_1 | ❌ |
1_ | ❌ |
_1 | ✔️ |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn fraction_leading_digit_separator(&self) -> bool
pub const fn fraction_leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any fraction digits.
This will consider an input of only the digit separator
to be a identical to empty input. Can only be modified with
feature format. Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1.1 | ✔️ |
1._ | ❌ |
1.1_1 | ❌ |
1.1_ | ❌ |
1._1 | ✔️ |
§Used For
- Parse Float
Sourcepub const fn exponent_leading_digit_separator(&self) -> bool
pub const fn exponent_leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any exponent digits.
This will consider an input of only the digit separator
to be a identical to empty input. Can only be modified with
feature format. Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1.1e1 | ✔️ |
1.1e_ | ❌ |
1.1e1_1 | ❌ |
1.1e1_ | ❌ |
1.1e_1 | ✔️ |
§Used For
- Parse Float
Sourcepub const fn leading_digit_separator(&self) -> bool
pub const fn leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any digits.
This will consider an input of only the digit separator
to be a identical to empty input. This is equivalent to
any of integer_leading_digit_separator,
fraction_leading_digit_separator, or
exponent_leading_digit_separator being set.
Sourcepub const fn integer_trailing_digit_separator(&self) -> bool
pub const fn integer_trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any integer digits.
This will consider an input of only the digit separator
to be a identical to empty input. Can only be modified with
feature format. Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1 | ✔️ |
_ | ❌ |
1_1 | ❌ |
1_ | ✔️ |
_1 | ❌ |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn fraction_trailing_digit_separator(&self) -> bool
pub const fn fraction_trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any fraction digits.
This will consider an input of only the digit separator
to be a identical to empty input. Can only be modified with
feature format. Defaults to false. # Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1.1 | ✔️ |
1._ | ❌ |
1.1_1 | ❌ |
1.1_ | ✔️ |
1._1 | ❌ |
§Used For
- Parse Float
Sourcepub const fn exponent_trailing_digit_separator(&self) -> bool
pub const fn exponent_trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any exponent digits.
This will consider an input of only the digit separator
to be a identical to empty input. Can only be modified with
feature format. Defaults to false.
§Examples
Using a digit separator of _.
| Input | Valid? |
|---|---|
1.1e1 | ✔️ |
1.1e_ | ❌ |
1.1e1_1 | ❌ |
1.1e1_ | ✔️ |
1.1e_1 | ❌ |
§Used For
- Parse Float
Sourcepub const fn trailing_digit_separator(&self) -> bool
pub const fn trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any digits.
This will consider an input of only the digit separator
to be a identical to empty input. This is equivalent to
any of integer_trailing_digit_separator,
fraction_trailing_digit_separator, or
exponent_trailing_digit_separator being set.
Sourcepub const fn integer_consecutive_digit_separator(&self) -> bool
pub const fn integer_consecutive_digit_separator(&self) -> bool
Get if multiple consecutive integer digit separators are allowed.
That is, using _ as a digit separator __ would be allowed where any
digit separators (leading, trailing, internal) are allowed in the
integer. Can only be modified with feature format.
Defaults to false.
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn fraction_consecutive_digit_separator(&self) -> bool
pub const fn fraction_consecutive_digit_separator(&self) -> bool
Sourcepub const fn exponent_consecutive_digit_separator(&self) -> bool
pub const fn exponent_consecutive_digit_separator(&self) -> bool
Sourcepub const fn consecutive_digit_separator(&self) -> bool
pub const fn consecutive_digit_separator(&self) -> bool
Get if multiple consecutive digit separators are allowed.
This is equivalent to any of integer_consecutive_digit_separator,
fraction_consecutive_digit_separator, or
exponent_consecutive_digit_separator being set.
Sourcepub const fn special_digit_separator(&self) -> bool
pub const fn special_digit_separator(&self) -> bool
Get if any digit separators are allowed in special (non-finite) values.
This enables leading, trailing, internal, and consecutive digit
separators for any special floats: for example, N__a_N_ is considered
the same as NaN. Can only be modified with feature
format. Defaults to false.
§Used For
- Parse Float
Sourcepub const fn digit_separator(&self) -> u8
pub const fn digit_separator(&self) -> u8
Get the digit separator for the number format.
Digit separators are frequently used in number literals to group
digits: 1,000,000 is a lot more readable than 1000000, but
the , characters should be ignored in the parsing of the number.
Can only be modified with feature format. Defaults
to 0, or no digit separators allowed.
§Examples
Using a digit separator of _ (note that the validity
oh where a digit separator can appear depends on the other digit
separator flags).
| Input | Valid? |
|---|---|
1 | ✔️ |
1_4 | ✔️ |
+_14 | ✔️ |
+14e3_5 | ✔️ |
1_d | ❌ |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn has_digit_separator(&self) -> bool
pub const fn has_digit_separator(&self) -> bool
Get if the format has a digit separator.
Sourcepub const fn base_prefix(&self) -> u8
pub const fn base_prefix(&self) -> u8
Get the optional character for the base prefix.
This character will come after a leading zero, so for example
setting the base prefix to x means that a leading 0x will
be ignore, if present. Can only be modified with
feature power-of-two or radix along with
format. Defaults to 0, or no base prefix allowed.
§Examples
Using a base prefix of x.
| Input | Valid? |
|---|---|
0x1 | ✔️ |
x1 | ❌ |
1 | ✔️ |
1x | ❌ |
1x1 | ❌ |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn has_base_prefix(&self) -> bool
pub const fn has_base_prefix(&self) -> bool
Get if the format has a base prefix.
Sourcepub const fn base_suffix(&self) -> u8
pub const fn base_suffix(&self) -> u8
Get the optional character for the base suffix.
This character will at the end of the buffer, so for example
setting the base prefix to x means that a trailing x will
be ignored, if present. Can only be modified with
feature power-of-two or radix along with
format. Defaults to 0, or no base suffix allowed.
§Examples
Using a base suffix of x.
| Input | Valid? |
|---|---|
1 | ✔️ |
1x | ✔️ |
1d | ❌ |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn has_base_suffix(&self) -> bool
pub const fn has_base_suffix(&self) -> bool
Get if the format has a base suffix.
Sourcepub const fn mantissa_radix(&self) -> u32
pub const fn mantissa_radix(&self) -> u32
Get the radix for mantissa digits.
This is only used for the significant digits, that is, the integral and
fractional components. Can only be modified with
feature power-of-two or radix. Defaults
to 10.
| Radix | String | Number |
|---|---|---|
| 2 | “10011010010” | 1234 |
| 3 | “1200201” | 1234 |
| 8 | “2322” | 1234 |
| 10 | “1234” | 1234 |
| 16 | “4d2” | 1234 |
| 31 | “18p” | 1234 |
§Used For
- Parse Float
- Parse Integer
- Write Float
- Write Integer
Sourcepub const fn radix(&self) -> u32
pub const fn radix(&self) -> u32
Get the radix for the significant digits.
This is an alias for mantissa_radix.
Sourcepub const fn exponent_base(&self) -> u32
pub const fn exponent_base(&self) -> u32
Get the radix for the exponent.
For example, in 1.234e3, it means 1.234 * 10^3, and the exponent
base here is 10. Some programming languages, like C, support hex floats
with an exponent base of 2, for example 0x1.8p3, or 1.5 * 2^3.
Defaults to 10. Can only be modified with feature
power-of-two or radix. Defaults to 10.
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn exponent_radix(&self) -> u32
pub const fn exponent_radix(&self) -> u32
Get the radix for exponent digits.
This is only used for the exponent digits. We assume the radix for the
significant digits (mantissa_radix) is
10 as is the exponent base. Defaults to 10. Can only be modified with
feature power-of-two or radix. Defaults to 10.
| Radix | String | Number |
|---|---|---|
| 2 | “1.234^1100” | 1.234e9 |
| 3 | “1.234^110” | 1.234e9 |
| 8 | “1.234^14” | 1.234e9 |
| 10 | “1.234^12” | 1.234e9 |
| 16 | “1.234^c” | 1.234e9 |
| 31 | “1.234^c” | 1.234e9 |
§Used For
- Parse Float
- Parse Integer
Sourcepub const fn flags(&self) -> u128
pub const fn flags(&self) -> u128
Get the flags from the number format.
This contains all the non-character and non-radix values in the packed struct.
Sourcepub const fn interface_flags(&self) -> u128
pub const fn interface_flags(&self) -> u128
Get the interface flags from the number format.
This contains all the flags that dictate code flows, and therefore excludes logic like case-sensitive characters.
Sourcepub const fn digit_separator_flags(&self) -> u128
pub const fn digit_separator_flags(&self) -> u128
Get the digit separator flags from the number format.
Sourcepub const fn exponent_flags(&self) -> u128
pub const fn exponent_flags(&self) -> u128
Get the exponent flags from the number format.
This contains all the flags pertaining to exponent formats, including digit separators.
Sourcepub const fn integer_digit_separator_flags(&self) -> u128
pub const fn integer_digit_separator_flags(&self) -> u128
Get the integer digit separator flags from the number format.
Sourcepub const fn fraction_digit_separator_flags(&self) -> u128
pub const fn fraction_digit_separator_flags(&self) -> u128
Get the fraction digit separator flags from the number format.
Sourcepub const fn exponent_digit_separator_flags(&self) -> u128
pub const fn exponent_digit_separator_flags(&self) -> u128
Get the exponent digit separator flags from the number format.
Sourcepub const fn builder() -> NumberFormatBuilder
pub const fn builder() -> NumberFormatBuilder
Get the number format builder from the format.
Sourcepub const fn rebuild() -> NumberFormatBuilder
pub const fn rebuild() -> NumberFormatBuilder
Get the number format builder from the format.