Enum rust_decimal::RoundingStrategy[][src]

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

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 -> 7, -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

impl Clone for RoundingStrategy[src]

impl Copy for RoundingStrategy[src]

impl Debug for RoundingStrategy[src]

impl Eq for RoundingStrategy[src]

impl PartialEq<RoundingStrategy> for RoundingStrategy[src]

impl StructuralEq for RoundingStrategy[src]

impl StructuralPartialEq for RoundingStrategy[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoSql for T[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,