Skip to main content

LowerExp

Trait LowerExp 

1.0.0 · Source
pub trait LowerExp {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
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§

Source§

impl LowerExp for Gid

Source§

impl LowerExp for Pid

Available on lower_upper_exp_for_non_zero only.
Source§

impl LowerExp for Uid

1.0.0 · Source§

impl LowerExp for f16

1.0.0 · Source§

impl LowerExp for f32

1.0.0 · Source§

impl LowerExp for f64

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

1.42.0 · Source§

impl LowerExp for i128

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

1.42.0 · Source§

impl LowerExp for u128

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,

Source§

impl<T> LowerExp for BoxSensitive<T>
where T: LowerExp,

Source§

impl<T> LowerExp for FmtBinary<T>
where T: Binary + LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtDisplay<T>
where T: Display + LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtList<T>
where &'a T: for<'a> IntoIterator, <&'a T as IntoIterator>::Item: for<'a> LowerExp,

Source§

impl<T> LowerExp for FmtLowerExp<T>
where T: LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtLowerHex<T>
where T: LowerHex + LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtOctal<T>
where T: Octal + LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtPointer<T>
where T: Pointer + LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtUpperExp<T>
where T: UpperExp + LowerExp,

Available on non-tarpaulin_include only.
Source§

impl<T> LowerExp for FmtUpperHex<T>
where T: UpperHex + LowerExp,

Available on non-tarpaulin_include only.
1.84.0 · Source§

impl<T> LowerExp for NonZero<T>

Source§

impl<T> LowerExp for Sensitive<T>
where T: LowerExp,

Source§

impl<const MIN: i8, const MAX: i8> LowerExp for RangedI8<MIN, MAX>

Source§

impl<const MIN: i16, const MAX: i16> LowerExp for RangedI16<MIN, MAX>

Source§

impl<const MIN: i32, const MAX: i32> LowerExp for RangedI32<MIN, MAX>

Source§

impl<const MIN: i64, const MAX: i64> LowerExp for RangedI64<MIN, MAX>

Source§

impl<const MIN: i128, const MAX: i128> LowerExp for RangedI128<MIN, MAX>

Source§

impl<const MIN: isize, const MAX: isize> LowerExp for RangedIsize<MIN, MAX>

Source§

impl<const MIN: u8, const MAX: u8> LowerExp for RangedU8<MIN, MAX>

Source§

impl<const MIN: u16, const MAX: u16> LowerExp for RangedU16<MIN, MAX>

Source§

impl<const MIN: u32, const MAX: u32> LowerExp for RangedU32<MIN, MAX>

Source§

impl<const MIN: u64, const MAX: u64> LowerExp for RangedU64<MIN, MAX>

Source§

impl<const MIN: u128, const MAX: u128> LowerExp for RangedU128<MIN, MAX>

Source§

impl<const MIN: usize, const MAX: usize> LowerExp for RangedUsize<MIN, MAX>

Source§

impl<const NICHE: i8> LowerExp for NonAnyI8<NICHE>

Source§

impl<const NICHE: i16> LowerExp for NonAnyI16<NICHE>

Source§

impl<const NICHE: i32> LowerExp for NonAnyI32<NICHE>

Source§

impl<const NICHE: i64> LowerExp for NonAnyI64<NICHE>

Source§

impl<const NICHE: i128> LowerExp for NonAnyI128<NICHE>

Source§

impl<const NICHE: isize> LowerExp for NonAnyIsize<NICHE>

Source§

impl<const NICHE: u8> LowerExp for NonAnyU8<NICHE>

Source§

impl<const NICHE: u16> LowerExp for NonAnyU16<NICHE>

Source§

impl<const NICHE: u32> LowerExp for NonAnyU32<NICHE>

Source§

impl<const NICHE: u64> LowerExp for NonAnyU64<NICHE>

Source§

impl<const NICHE: u128> LowerExp for NonAnyU128<NICHE>

Source§

impl<const NICHE: usize> LowerExp for NonAnyUsize<NICHE>