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

pub struct SignedAmount(_);
Expand description

Represent an signed quantity of Monero, internally as signed monero.

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

Implementations

impl SignedAmount[src]

pub const ZERO: SignedAmount[src]

The zero amount.

pub const ONE_PICO: SignedAmount[src]

Exactly one piconero.

pub const ONE_XMR: SignedAmount[src]

Exactly one monero.

pub fn from_pico(piconero: i64) -> SignedAmount[src]

Create an SignedAmount with piconero precision and the given number of piconeros.

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

Get the number of piconeros in this SignedAmount.

pub fn max_value() -> SignedAmount[src]

The maximum value of an SignedAmount.

pub fn min_value() -> SignedAmount[src]

The minimum value of an SignedAmount.

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

Convert from a value expressing moneros to an SignedAmount.

pub fn from_str_in(
    s: &str,
    denom: Denomination
) -> Result<SignedAmount, 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<SignedAmount, 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 SignedAmount 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 SignedAmount 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<SignedAmount, ParsingError>
[src]

Convert this SignedAmount 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 SignedAmount 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 SignedAmount 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 SignedAmount in the given denomination, suffixed with the abbreviation for the denomination.

pub fn abs(self) -> SignedAmount[src]

Get the absolute value of this SignedAmount.

pub fn signum(self) -> i64[src]

Returns a number representing sign of this SignedAmount.

  • 0 if the amount is zero
  • 1 if the amount is positive
  • -1 if the amount is negative

pub fn is_positive(self) -> bool[src]

Returns true if this SignedAmount is positive and false if this SignedAmount is zero or negative.

pub fn is_negative(self) -> bool[src]

Returns true if this SignedAmount is negative and false if this SignedAmount is zero or positive.

pub fn checked_abs(self) -> Option<SignedAmount>[src]

Get the absolute value of this SignedAmount. Returns None if overflow occurred. (self == min_value())

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

Checked addition. Returns None if overflow occurred.

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

Checked subtraction. Returns None if overflow occurred.

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

Checked multiplication. Returns None if overflow occurred.

pub fn checked_div(self, rhs: i64) -> Option<SignedAmount>[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: i64) -> Option<SignedAmount>[src]

Checked remainder. Returns None if overflow occurred.

pub fn positive_sub(self, rhs: SignedAmount) -> Option<SignedAmount>[src]

Subtraction that doesn’t allow negative SignedAmounts. Returns None if either self, rhs or the result is strictly negative.

pub fn to_unsigned(self) -> Result<Amount, ParsingError>[src]

Convert to an unsigned amount.

Trait Implementations

impl Add<SignedAmount> for SignedAmount[src]

type Output = SignedAmount

The resulting type after applying the + operator.

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

Performs the + operation. Read more

impl AddAssign<SignedAmount> for SignedAmount[src]

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

Performs the += operation. Read more

impl Clone for SignedAmount[src]

fn clone(&self) -> SignedAmount[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 SignedAmount[src]

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

Formats the value using the given formatter. Read more

impl Default for SignedAmount[src]

fn default() -> Self[src]

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

impl Display for SignedAmount[src]

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

Formats the value using the given formatter. Read more

impl Div<i64> for SignedAmount[src]

type Output = SignedAmount

The resulting type after applying the / operator.

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

Performs the / operation. Read more

impl DivAssign<i64> for SignedAmount[src]

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

Performs the /= operation. Read more

impl FromStr for SignedAmount[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 SignedAmount[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<i64> for SignedAmount[src]

type Output = SignedAmount

The resulting type after applying the * operator.

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

Performs the * operation. Read more

impl MulAssign<i64> for SignedAmount[src]

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

Performs the *= operation. Read more

impl Ord for SignedAmount[src]

fn cmp(&self, other: &SignedAmount) -> 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<SignedAmount> for SignedAmount[src]

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

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

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

This method tests for !=.

impl PartialOrd<SignedAmount> for SignedAmount[src]

fn partial_cmp(&self, other: &SignedAmount) -> 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<i64> for SignedAmount[src]

type Output = SignedAmount

The resulting type after applying the % operator.

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

Performs the % operation. Read more

impl RemAssign<i64> for SignedAmount[src]

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

Performs the %= operation. Read more

impl Sub<SignedAmount> for SignedAmount[src]

type Output = SignedAmount

The resulting type after applying the - operator.

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

Performs the - operation. Read more

impl SubAssign<SignedAmount> for SignedAmount[src]

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

Performs the -= operation. Read more

impl Copy for SignedAmount[src]

impl Eq for SignedAmount[src]

impl StructuralEq for SignedAmount[src]

impl StructuralPartialEq for SignedAmount[src]

Auto Trait Implementations

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]