Skip to main content

RoundingStrategy

Enum RoundingStrategy 

Source
pub enum RoundingStrategy {
    MidpointNearestEven,
    MidpointAwayFromZero,
    MidpointTowardZero,
    ToZero,
    AwayFromZero,
    ToNegativeInfinity,
    ToPositiveInfinity,
    BankersRounding,
    RoundHalfUp,
    RoundHalfDown,
    RoundDown,
    RoundUp,
}
Expand description

RoundingStrategy represents the different rounding strategies that can be used by round_dp_with_strategy.

Variants§

§

MidpointNearestEven

When a number is halfway between two others, it is rounded toward the nearest even number. Also known as “Bankers Rounding”. e.g. 6.5 -> 6, 7.5 -> 8

§

MidpointAwayFromZero

When a number is halfway between two others, it is rounded toward the nearest number that is away from zero. e.g. 6.4 -> 6, 6.5 -> 7, -6.5 -> -7

§

MidpointTowardZero

When a number is halfway between two others, it is rounded toward the nearest number that is toward zero. e.g. 6.4 -> 6, 6.5 -> 6, -6.5 -> -6

§

ToZero

The number is always rounded toward zero. e.g. -6.8 -> -6, 6.8 -> 6

§

AwayFromZero

The number is always rounded away from zero. e.g. -6.8 -> -7, 6.8 -> 7

§

ToNegativeInfinity

The number is always rounded towards negative infinity. e.g. 6.8 -> 6, -6.8 -> -7

§

ToPositiveInfinity

The number is always rounded towards positive infinity. e.g. 6.8 -> 7, -6.8 -> -6

§

BankersRounding

👎Deprecated since 1.11.0:

Please use RoundingStrategy::MidpointNearestEven instead

When a number is halfway between two others, it is rounded toward the nearest even number. e.g. 6.5 -> 6, 7.5 -> 8

§

RoundHalfUp

👎Deprecated since 1.11.0:

Please use RoundingStrategy::MidpointAwayFromZero instead

Rounds up if the value >= 5, otherwise rounds down, e.g. 6.5 -> 7

§

RoundHalfDown

👎Deprecated since 1.11.0:

Please use RoundingStrategy::MidpointTowardZero instead

Rounds down if the value =< 5, otherwise rounds up, e.g. 6.5 -> 6, 6.51 -> 7 1.4999999 -> 1

§

RoundDown

👎Deprecated since 1.11.0:

Please use RoundingStrategy::ToZero instead

Always round down.

§

RoundUp

👎Deprecated since 1.11.0:

Please use RoundingStrategy::AwayFromZero instead

Always round up.

Trait Implementations§

Source§

impl Clone for RoundingStrategy

Source§

fn clone(&self) -> RoundingStrategy

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RoundingStrategy

Source§

impl Debug for RoundingStrategy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for RoundingStrategy

Source§

impl PartialEq for RoundingStrategy

Source§

fn eq(&self, other: &RoundingStrategy) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RoundingStrategy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.