pub trait UpperExp {
// Required method
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> ⓘ;
}
Expand description
core
E
formatting.
Re-exported from core
::fmt::
.
E
formatting.
The UpperExp
trait should format its output in scientific notation with an upper-case E
.
For more information on formatters, see the module-level documentation.
§Examples
Basic usage with f64
:
let x = 42.0; // 42.0 is '4.2E1' in scientific notation
assert_eq!(format!("{x:E}"), "4.2E1");
Implementing UpperExp
on a type:
use std::fmt;
struct Length(i32);
impl fmt::UpperExp for Length {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let val = f64::from(self.0);
fmt::UpperExp::fmt(&val, f) // delegate to f64's implementation
}
}
let l = Length(100);
assert_eq!(
format!("l in scientific notation is: {l:E}"),
"l in scientific notation is: 1E2"
);
assert_eq!(
format!("l in scientific notation is: {l:05E}"),
"l in scientific notation is: 001E2"
);
Required Methods§
1.0.0 · Sourcefn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> ⓘ
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> ⓘ
Formats the value using the given formatter.
§Errors
This function should return Err
if, and only if, the provided Formatter
returns Err
.
String formatting is considered an infallible operation; this function only
returns a Result
because writing to the underlying stream might fail and it must
provide a way to propagate the fact that an error has occurred back up the stack.
Implementors§
impl UpperExp for f32
impl UpperExp for f64
impl UpperExp for i8
impl UpperExp for i16
impl UpperExp for i32
impl UpperExp for i64
impl UpperExp for i128
impl UpperExp for isize
impl UpperExp for u8
impl UpperExp for u16
impl UpperExp for u32
impl UpperExp for u64
impl UpperExp for u128
impl UpperExp for usize
impl UpperExp for f32_be
impl UpperExp for f32_le
impl UpperExp for f64_be
impl UpperExp for f64_le
impl UpperExp for i16_be
impl UpperExp for i16_le
impl UpperExp for i32_be
impl UpperExp for i32_le
impl UpperExp for i64_be
impl UpperExp for i64_le
impl UpperExp for i128_be
impl UpperExp for i128_le
impl UpperExp for u16_be
impl UpperExp for u16_le
impl UpperExp for u32_be
impl UpperExp for u32_le
impl UpperExp for u64_be
impl UpperExp for u64_le
impl UpperExp for u128_be
impl UpperExp for u128_le
impl UpperExp for f32_ube
impl UpperExp for f32_ule
impl UpperExp for f64_ube
impl UpperExp for f64_ule
impl UpperExp for i16_ube
impl UpperExp for i16_ule
impl UpperExp for i32_ube
impl UpperExp for i32_ule
impl UpperExp for i64_ube
impl UpperExp for i64_ule
impl UpperExp for i128_ube
impl UpperExp for i128_ule
impl UpperExp for u16_ube
impl UpperExp for u16_ule
impl UpperExp for u32_ube
impl UpperExp for u32_ule
impl UpperExp for u64_ube
impl UpperExp for u64_ule
impl UpperExp for u128_ube
impl UpperExp for u128_ule
impl UpperExp for f32x4
impl UpperExp for f32x8
impl UpperExp for f64x2
impl UpperExp for f64x4
impl UpperExp for i8x16
impl UpperExp for i8x32
impl UpperExp for i16x8
impl UpperExp for i16x16
impl UpperExp for i32x4
impl UpperExp for i32x8
impl UpperExp for i64x2
impl UpperExp for i64x4
impl UpperExp for u8x16
impl UpperExp for u16x8
impl UpperExp for u16x16
impl UpperExp for u32x4
impl UpperExp for u32x8
impl UpperExp for u64x2
impl UpperExp for u64x4
impl UpperExp for ExampleBitfield
Available on crate feature
_bit_u8
and doc
only.impl UpperExp for ExampleBitfieldCustom
Available on crate feature
_bit_u8
and doc
only.impl UpperExp for ExampleBitfieldExtra
Available on crate feature
_bit_u8
and doc
only.impl UpperExp for ExampleEnumSet
Available on
doc
only.