Struct monero::util::amount::Amount[][src]

pub struct Amount(_);
Expand description

Represent an unsigned quantity of Monero, internally as piconero.

The Amount type can be used to express Monero amounts that supports arithmetic and conversion to various denominations.

Implementations

impl Amount[src]

pub const ZERO: Amount[src]

The zero amount.

pub const ONE_PICO: Amount[src]

Exactly one piconero.

pub const ONE_XMR: Amount[src]

Exactly one monero.

pub fn from_pico(piconero: u64) -> Amount[src]

Create an Amount with piconero precision and the given number of piconero.

pub fn as_pico(self) -> u64[src]

Get the number of piconeros in this Amount.

pub fn max_value() -> Amount[src]

The maximum value of an Amount.

pub fn min_value() -> Amount[src]

The minimum value of an Amount.

pub fn from_xmr(xmr: f64) -> Result<Amount, ParsingError>[src]

Convert from a value expressing moneros to an Amount.

pub fn from_str_in(s: &str, denom: Denomination) -> Result<Amount, ParsingError>[src]

Parse a decimal string as a value in the given denomination.

Note: This only parses the value string. If you want to parse a value with denomination, use FromStr.

pub fn from_str_with_denomination(s: &str) -> Result<Amount, ParsingError>[src]

Parses amounts with denomination suffix like they are produced with to_string_with_denomination or with fmt::Display. If you want to parse only the amount without the denomination, use from_str_in.

pub fn to_float_in(self, denom: Denomination) -> f64[src]

Express this Amount as a floating-point value in the given denomination.

Please be aware of the risk of using floating-point numbers.

pub fn as_xmr(self) -> f64[src]

Express this Amount as a floating-point value in Monero.

Equivalent to to_float_in(Denomination::Monero).

Please be aware of the risk of using floating-point numbers.

pub fn from_float_in(
    value: f64,
    denom: Denomination
) -> Result<Amount, ParsingError>
[src]

Convert this Amount in floating-point notation with a given denomination. Can return error if the amount is too big, too precise or negative.

Please be aware of the risk of using floating-point numbers.

pub fn fmt_value_in(self, f: &mut dyn Write, denom: Denomination) -> Result[src]

Format the value of this Amount in the given denomination.

Does not include the denomination.

pub fn to_string_in(self, denom: Denomination) -> String[src]

Get a string number of this Amount in the given denomination.

Does not include the denomination.

pub fn to_string_with_denomination(self, denom: Denomination) -> String[src]

Get a formatted string of this Amount in the given denomination, suffixed with the abbreviation for the denomination.

pub fn checked_add(self, rhs: Amount) -> Option<Amount>[src]

Checked addition. Returns None if overflow occurred.

pub fn checked_sub(self, rhs: Amount) -> Option<Amount>[src]

Checked subtraction. Returns None if overflow occurred.

pub fn checked_mul(self, rhs: u64) -> Option<Amount>[src]

Checked multiplication. Returns None if overflow occurred.

pub fn checked_div(self, rhs: u64) -> Option<Amount>[src]

Checked integer division. Be aware that integer division loses the remainder if no exact division can be made. Returns None if overflow occurred.

pub fn checked_rem(self, rhs: u64) -> Option<Amount>[src]

Checked remainder. Returns None if overflow occurred.

pub fn to_signed(self) -> Result<SignedAmount, ParsingError>[src]

Convert to a signed amount.

Trait Implementations

impl Add<Amount> for Amount[src]

type Output = Amount

The resulting type after applying the + operator.

fn add(self, rhs: Amount) -> Self::Output[src]

Performs the + operation. Read more

impl AddAssign<Amount> for Amount[src]

fn add_assign(&mut self, other: Amount)[src]

Performs the += operation. Read more

impl Clone for Amount[src]

fn clone(&self) -> Amount[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Amount[src]

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

Formats the value using the given formatter. Read more

impl Default for Amount[src]

fn default() -> Self[src]

Returns the “default value” for a type. Read more

impl Display for Amount[src]

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

Formats the value using the given formatter. Read more

impl Div<u64> for Amount[src]

type Output = Amount

The resulting type after applying the / operator.

fn div(self, rhs: u64) -> Self::Output[src]

Performs the / operation. Read more

impl DivAssign<u64> for Amount[src]

fn div_assign(&mut self, rhs: u64)[src]

Performs the /= operation. Read more

impl FromStr for Amount[src]

type Err = ParsingError

The associated error which can be returned from parsing.

fn from_str(s: &str) -> Result<Self, Self::Err>[src]

Parses a string s to return a value of this type. Read more

impl Hash for Amount[src]

fn hash<__H: Hasher>(&self, state: &mut __H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl Mul<u64> for Amount[src]

type Output = Amount

The resulting type after applying the * operator.

fn mul(self, rhs: u64) -> Self::Output[src]

Performs the * operation. Read more

impl MulAssign<u64> for Amount[src]

fn mul_assign(&mut self, rhs: u64)[src]

Performs the *= operation. Read more

impl Ord for Amount[src]

fn cmp(&self, other: &Amount) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl PartialEq<Amount> for Amount[src]

fn eq(&self, other: &Amount) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Amount) -> bool[src]

This method tests for !=.

impl PartialOrd<Amount> for Amount[src]

fn partial_cmp(&self, other: &Amount) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Rem<u64> for Amount[src]

type Output = Amount

The resulting type after applying the % operator.

fn rem(self, modulus: u64) -> Self[src]

Performs the % operation. Read more

impl RemAssign<u64> for Amount[src]

fn rem_assign(&mut self, modulus: u64)[src]

Performs the %= operation. Read more

impl Sub<Amount> for Amount[src]

type Output = Amount

The resulting type after applying the - operator.

fn sub(self, rhs: Amount) -> Self::Output[src]

Performs the - operation. Read more

impl SubAssign<Amount> for Amount[src]

fn sub_assign(&mut self, other: Amount)[src]

Performs the -= operation. Read more

impl Copy for Amount[src]

impl Eq for Amount[src]

impl StructuralEq for Amount[src]

impl StructuralPartialEq for Amount[src]

Auto Trait Implementations

impl RefUnwindSafe for Amount

impl Send for Amount

impl Sync for Amount

impl Unpin for Amount

impl UnwindSafe for Amount

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

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

Performs the conversion.

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.

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

Performs the conversion.

impl<T, Rhs> NumAssignOps<Rhs> for T where
    T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>, 
[src]