pub struct Money<'a, T: FormattableCurrency> { /* private fields */ }
Expand description
Represents an amount of a given currency.
Money represents financial amounts through a Decimal (owned) and a Currency (refernce).
Operations on Money objects always create new instances of Money, with the exception
of round()
.
Implementations§
Source§impl<'a, T: FormattableCurrency> Money<'a, T>
impl<'a, T: FormattableCurrency> Money<'a, T>
Sourcepub fn from_str(
amount: &str,
currency: &'a T,
) -> Result<Money<'a, T>, MoneyError>
pub fn from_str( amount: &str, currency: &'a T, ) -> Result<Money<'a, T>, MoneyError>
Creates a Money object given an amount string and a currency str.
Supports fuzzy amount strings like “100”, “100.00” and “-100.00”
Sourcepub fn from_minor(amount: i64, currency: &'a T) -> Money<'a, T>
pub fn from_minor(amount: i64, currency: &'a T) -> Money<'a, T>
Creates a Money object given an integer and a currency reference.
The integer represents minor units of the currency (e.g. 1000 -> 10.00 in USD )
Sourcepub fn from_major(amount: i64, currency: &'a T) -> Money<'a, T>
pub fn from_major(amount: i64, currency: &'a T) -> Money<'a, T>
Creates a Money object given an integer and a currency reference.
The integer represents major units of the currency (e.g. 1000 -> 1,000 in USD )
Sourcepub fn from_decimal(amount: Decimal, currency: &'a T) -> Money<'a, T>
pub fn from_decimal(amount: Decimal, currency: &'a T) -> Money<'a, T>
Creates a Money object given a decimal amount and a currency reference.
Sourcepub fn is_positive(&self) -> bool
pub fn is_positive(&self) -> bool
Returns true if amount > 0.
Sourcepub fn is_negative(&self) -> bool
pub fn is_negative(&self) -> bool
Returns true if amount < 0.
Sourcepub fn allocate_to(&self, number: i32) -> Result<Vec<Money<'a, T>>, MoneyError>
pub fn allocate_to(&self, number: i32) -> Result<Vec<Money<'a, T>>, MoneyError>
Divides money equally into n shares.
If the divison cannot be applied perfectly, it allocates the remainder to some of the shares.
Trait Implementations§
Source§impl<'a, T: FormattableCurrency> Add for Money<'a, T>
impl<'a, T: FormattableCurrency> Add for Money<'a, T>
Source§impl<'a, T: FormattableCurrency> AddAssign for Money<'a, T>
impl<'a, T: FormattableCurrency> AddAssign for Money<'a, T>
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+=
operation. Read moreSource§impl<'a, T: FormattableCurrency> Display for Money<'a, T>
impl<'a, T: FormattableCurrency> Display for Money<'a, T>
Source§impl<'a, T: FormattableCurrency> DivAssign<Decimal> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<Decimal> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: Decimal)
fn div_assign(&mut self, rhs: Decimal)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<i16> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<i16> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<i32> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<i32> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<i64> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<i64> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: i64)
fn div_assign(&mut self, rhs: i64)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<i8> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<i8> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: i8)
fn div_assign(&mut self, rhs: i8)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<isize> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<isize> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: isize)
fn div_assign(&mut self, rhs: isize)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<u16> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<u16> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<u32> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<u32> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<u64> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<u64> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<u8> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<u8> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: u8)
fn div_assign(&mut self, rhs: u8)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> DivAssign<usize> for Money<'a, T>
impl<'a, T: FormattableCurrency> DivAssign<usize> for Money<'a, T>
Source§fn div_assign(&mut self, rhs: usize)
fn div_assign(&mut self, rhs: usize)
/=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<Decimal> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<Decimal> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: Decimal)
fn mul_assign(&mut self, rhs: Decimal)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<i16> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<i16> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<i32> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<i32> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<i64> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<i64> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: i64)
fn mul_assign(&mut self, rhs: i64)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<i8> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<i8> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: i8)
fn mul_assign(&mut self, rhs: i8)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<isize> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<isize> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: isize)
fn mul_assign(&mut self, rhs: isize)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<u16> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<u16> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<u32> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<u32> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<u64> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<u64> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<u8> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<u8> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: u8)
fn mul_assign(&mut self, rhs: u8)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> MulAssign<usize> for Money<'a, T>
impl<'a, T: FormattableCurrency> MulAssign<usize> for Money<'a, T>
Source§fn mul_assign(&mut self, rhs: usize)
fn mul_assign(&mut self, rhs: usize)
*=
operation. Read moreSource§impl<'a, T: FormattableCurrency> Ord for Money<'a, T>
impl<'a, T: FormattableCurrency> Ord for Money<'a, T>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<'a, T: FormattableCurrency> PartialOrd for Money<'a, T>
impl<'a, T: FormattableCurrency> PartialOrd for Money<'a, T>
Source§impl<'a, T: FormattableCurrency> Sub for Money<'a, T>
impl<'a, T: FormattableCurrency> Sub for Money<'a, T>
Source§impl<'a, T: FormattableCurrency> SubAssign for Money<'a, T>
impl<'a, T: FormattableCurrency> SubAssign for Money<'a, T>
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-=
operation. Read more