pub struct Decimal(/* private fields */);Expand description
Decimal
Implementations§
Source§impl Decimal
impl Decimal
pub const ZERO: Decimal
Sourcepub fn from_num<N>(n: N) -> Option<Decimal>where
N: NumCast,
pub fn from_num<N>(n: N) -> Option<Decimal>where
N: NumCast,
Fallible conversion from common numeric types.
Sourcepub const fn parts(&self) -> DecimalParts
pub const fn parts(&self) -> DecimalParts
PARTS
Decompose into mantissa and scale.
Sourcepub const fn is_integer(&self) -> bool
pub const fn is_integer(&self) -> bool
Returns true if the decimal has no fractional component.
Sourcepub fn scale_to_integer(&self, target_scale: u32) -> Option<i128>
pub fn scale_to_integer(&self, target_scale: u32) -> Option<i128>
Scale by 10^target_scale and require an integer result.
Returns None if:
- fractional precision would be lost
- integer overflow occurs
Sourcepub fn round_dp(&self, dp: u32) -> Decimal
pub fn round_dp(&self, dp: u32) -> Decimal
WRAPPED FUNCTIONS
Round to a given number of decimal places.
Sourcepub fn saturating_add(self, rhs: Decimal) -> Decimal
pub fn saturating_add(self, rhs: Decimal) -> Decimal
Saturating addition.
Sourcepub fn saturating_sub(self, rhs: Decimal) -> Decimal
pub fn saturating_sub(self, rhs: Decimal) -> Decimal
Saturating subtraction.
Sourcepub fn checked_rem(self, rhs: Decimal) -> Option<Decimal>
pub fn checked_rem(self, rhs: Decimal) -> Option<Decimal>
Checked remainder; returns None on division by zero.
Sourcepub fn from_i128_with_scale(num: i128, scale: u32) -> Decimal
pub fn from_i128_with_scale(num: i128, scale: u32) -> Decimal
Build from a raw mantissa and scale.
Sourcepub const fn is_sign_negative(&self) -> bool
pub const fn is_sign_negative(&self) -> bool
Returns true if the value is negative.
Trait Implementations§
Source§impl AddAssign<Decimal> for Usd
impl AddAssign<Decimal> for Usd
Source§fn add_assign(&mut self, other: Decimal)
fn add_assign(&mut self, other: Decimal)
Performs the
+= operation. Read moreSource§impl AddAssign for Decimal
impl AddAssign for Decimal
Source§fn add_assign(&mut self, __rhs: Decimal)
fn add_assign(&mut self, __rhs: Decimal)
Performs the
+= operation. Read moreSource§impl CandidType for Decimal
impl CandidType for Decimal
Source§impl<'de> Deserialize<'de> for Decimal
impl<'de> Deserialize<'de> for Decimal
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Decimal, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Decimal, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<D> DivAssign<D> for Decimal
impl<D> DivAssign<D> for Decimal
Source§fn div_assign(&mut self, d: D)
fn div_assign(&mut self, d: D)
Performs the
/= operation. Read moreSource§impl DivAssign<Decimal> for Usd
impl DivAssign<Decimal> for Usd
Source§fn div_assign(&mut self, other: Decimal)
fn div_assign(&mut self, other: Decimal)
Performs the
/= operation. Read moreSource§impl FieldValue for Decimal
impl FieldValue for Decimal
Source§impl FromPrimitive for Decimal
impl FromPrimitive for Decimal
Source§fn from_i64(n: i64) -> Option<Decimal>
fn from_i64(n: i64) -> Option<Decimal>
Converts an
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u64(n: u64) -> Option<Decimal>
fn from_u64(n: u64) -> Option<Decimal>
Converts an
u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_f32(n: f32) -> Option<Decimal>
fn from_f32(n: f32) -> Option<Decimal>
Converts a
f32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_f64(n: f64) -> Option<Decimal>
fn from_f64(n: f64) -> Option<Decimal>
Converts a
f64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moreSource§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an
isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an
i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an
i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an
i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
Converts an
i128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moreSource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a
usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an
u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an
u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§impl<D> MulAssign<D> for Decimal
impl<D> MulAssign<D> for Decimal
Source§fn mul_assign(&mut self, d: D)
fn mul_assign(&mut self, d: D)
Performs the
*= operation. Read moreSource§impl MulAssign<Decimal> for Usd
impl MulAssign<Decimal> for Usd
Source§fn mul_assign(&mut self, other: Decimal)
fn mul_assign(&mut self, other: Decimal)
Performs the
*= operation. Read moreSource§impl Ord for Decimal
impl Ord for Decimal
Source§impl PartialOrd<Decimal> for Decimal
impl PartialOrd<Decimal> for Decimal
Source§impl PartialOrd<Decimal> for Usd
impl PartialOrd<Decimal> for Usd
Source§impl PartialOrd<Usd> for Decimal
impl PartialOrd<Usd> for Decimal
Source§impl PartialOrd for Decimal
impl PartialOrd for Decimal
Source§impl SanitizeAuto for Decimal
impl SanitizeAuto for Decimal
fn sanitize_self(&mut self, _ctx: &mut dyn VisitorContext)
Source§impl SanitizeCustom for Decimal
impl SanitizeCustom for Decimal
fn sanitize_custom(&mut self, _ctx: &mut dyn VisitorContext)
Source§impl Sanitizer<Decimal> for RoundDecimalPlaces
impl Sanitizer<Decimal> for RoundDecimalPlaces
Source§impl Serialize for Decimal
impl Serialize for Decimal
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl SubAssign<Decimal> for Usd
impl SubAssign<Decimal> for Usd
Source§fn sub_assign(&mut self, other: Decimal)
fn sub_assign(&mut self, other: Decimal)
Performs the
-= operation. Read moreSource§impl SubAssign for Decimal
impl SubAssign for Decimal
Source§fn sub_assign(&mut self, __rhs: Decimal)
fn sub_assign(&mut self, __rhs: Decimal)
Performs the
-= operation. Read moreSource§impl ToPrimitive for Decimal
impl ToPrimitive for Decimal
Source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of
self to an i32. If the value cannot be
represented by an i32, then None is returned.Source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of
self to an i64. If the value cannot be
represented by an i64, then None is returned.Source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of
self to a u64. If the value cannot be
represented by a u64, then None is returned.Source§fn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
Converts the value of
self to a u128. If the value cannot be
represented by a u128 (u64 under the default implementation), then
None is returned. Read moreSource§fn to_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
Converts the value of
self to an f32. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f32.Source§fn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
Converts the value of
self to an f64. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f64. Read moreSource§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of
self to an isize. If the value cannot be
represented by an isize, then None is returned.Source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of
self to an i8. If the value cannot be
represented by an i8, then None is returned.Source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of
self to an i16. If the value cannot be
represented by an i16, then None is returned.Source§fn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
Converts the value of
self to an i128. If the value cannot be
represented by an i128 (i64 under the default implementation), then
None is returned. Read moreSource§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of
self to a usize. If the value cannot be
represented by a usize, then None is returned.Source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of
self to a u8. If the value cannot be
represented by a u8, then None is returned.Source§impl ValidateAuto for Decimal
impl ValidateAuto for Decimal
fn validate_self(&self, _ctx: &mut dyn VisitorContext)
Source§impl ValidateCustom for Decimal
impl ValidateCustom for Decimal
fn validate_custom(&self, _ctx: &mut dyn VisitorContext)
Source§impl Validator<Decimal> for MaxDecimalPlaces
impl Validator<Decimal> for MaxDecimalPlaces
fn validate(&self, n: &Decimal, ctx: &mut dyn VisitorContext)
Source§impl Visitable for Decimal
impl Visitable for Decimal
fn drive(&self, _: &mut dyn VisitorCore)
fn drive_mut(&mut self, _: &mut dyn VisitorMutCore)
impl Atomic for Decimal
impl Copy for Decimal
impl Eq for Decimal
impl StructuralPartialEq for Decimal
Auto Trait Implementations§
impl Freeze for Decimal
impl RefUnwindSafe for Decimal
impl Send for Decimal
impl Sync for Decimal
impl Unpin for Decimal
impl UnsafeUnpin for Decimal
impl UnwindSafe for Decimal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> UpdateView for Twhere
T: UpdateView,
impl<T> UpdateView for Twhere
T: UpdateView,
Source§impl<T> UpdateView for T
impl<T> UpdateView for T
Source§type UpdateViewType = T
type UpdateViewType = T
A view payload that may be applied to
Self.