Skip to main content

LowerExp

Trait LowerExp 

1.0.0 · Source
pub trait LowerExp {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Available on crate feature std only.
Expand description

e formatting.

The LowerExp trait should format its output in scientific notation with a lower-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 LowerExp on a type:

use std::fmt;

struct Length(i32);

impl fmt::LowerExp for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let val = f64::from(self.0);
        fmt::LowerExp::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 · Source

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

1.0.0 · Source§

impl LowerExp for f16

1.0.0 · Source§

impl LowerExp for f32

1.0.0 · Source§

impl LowerExp for f64

Source§

impl LowerExp for f32_be

Source§

impl LowerExp for f32_le

Source§

impl LowerExp for f32_ube

Source§

impl LowerExp for f32_ule

Source§

impl LowerExp for f64_be

Source§

impl LowerExp for f64_le

Source§

impl LowerExp for f64_ube

Source§

impl LowerExp for f64_ule

1.42.0 · Source§

impl LowerExp for i8

1.42.0 · Source§

impl LowerExp for i16

1.42.0 · Source§

impl LowerExp for i32

1.42.0 · Source§

impl LowerExp for i64

Source§

impl LowerExp for i16_be

Source§

impl LowerExp for i16_le

Source§

impl LowerExp for i16_ube

Source§

impl LowerExp for i16_ule

Source§

impl LowerExp for i32_be

Source§

impl LowerExp for i32_le

Source§

impl LowerExp for i32_ube

Source§

impl LowerExp for i32_ule

Source§

impl LowerExp for i64_be

Source§

impl LowerExp for i64_le

Source§

impl LowerExp for i64_ube

Source§

impl LowerExp for i64_ule

1.42.0 · Source§

impl LowerExp for i128

Source§

impl LowerExp for i128_be

Source§

impl LowerExp for i128_le

Source§

impl LowerExp for i128_ube

Source§

impl LowerExp for i128_ule

1.42.0 · Source§

impl LowerExp for isize

1.42.0 · Source§

impl LowerExp for u8

1.42.0 · Source§

impl LowerExp for u16

1.42.0 · Source§

impl LowerExp for u32

1.42.0 · Source§

impl LowerExp for u64

Source§

impl LowerExp for u16_be

Source§

impl LowerExp for u16_le

Source§

impl LowerExp for u16_ube

Source§

impl LowerExp for u16_ule

Source§

impl LowerExp for u32_be

Source§

impl LowerExp for u32_le

Source§

impl LowerExp for u32_ube

Source§

impl LowerExp for u32_ule

Source§

impl LowerExp for u64_be

Source§

impl LowerExp for u64_le

Source§

impl LowerExp for u64_ube

Source§

impl LowerExp for u64_ule

1.42.0 · Source§

impl LowerExp for u128

Source§

impl LowerExp for u128_be

Source§

impl LowerExp for u128_le

Source§

impl LowerExp for u128_ube

Source§

impl LowerExp for u128_ule

1.42.0 · Source§

impl LowerExp for usize

Source§

impl<'a, I> LowerExp for Format<'a, I>
where I: Iterator, <I as Iterator>::Item: LowerExp,

1.0.0 · Source§

impl<T> LowerExp for &T
where T: LowerExp + ?Sized,

1.0.0 · Source§

impl<T> LowerExp for &mut T
where T: LowerExp + ?Sized,

1.84.0 · Source§

impl<T> LowerExp for NonZero<T>