Struct digibyte::util::amount::SignedAmount [−][src]
pub struct SignedAmount(_);
SignedAmount
The SignedAmount type can be used to express Bitcoin amounts that supports arithmetic and conversion to various denominations.
Warning!
This type implements several arithmetic operations from std::ops.
To prevent errors due to overflow or underflow when using these operations,
it is advised to instead use the checked arithmetic methods whose names
start with checked_
. The operations from std::ops that Amount
implements will panic when overflow or underflow occurs.
Implementations
impl SignedAmount
[src]
impl SignedAmount
[src]pub const ZERO: SignedAmount
[src]
The zero amount.
pub const ONE_SAT: SignedAmount
[src]
Exactly one satoshi.
pub const ONE_DGB: SignedAmount
[src]
Exactly one bitcoin.
pub fn from_sat(satoshi: i64) -> SignedAmount
[src]
Create an SignedAmount with satoshi precision and the given number of satoshis.
pub fn as_sat(self) -> i64
[src]
Get the number of satoshis 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_dgb(dgb: f64) -> Result<SignedAmount, ParseAmountError>
[src]
Convert from a value expressing bitcoins to an SignedAmount.
pub fn from_str_in(
s: &str,
denom: Denomination
) -> Result<SignedAmount, ParseAmountError>
[src]
s: &str,
denom: Denomination
) -> Result<SignedAmount, ParseAmountError>
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, ParseAmountError>
[src]
s: &str
) -> Result<SignedAmount, ParseAmountError>
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_dgb(self) -> f64
[src]
Express this SignedAmount as a floating-point value in Bitcoin.
Equivalent to to_float_in(Denomination::Bitcoin)
.
Please be aware of the risk of using floating-point numbers.
pub fn from_float_in(
value: f64,
denom: Denomination
) -> Result<SignedAmount, ParseAmountError>
[src]
value: f64,
denom: Denomination
) -> Result<SignedAmount, ParseAmountError>
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 zero1
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, ParseAmountError>
[src]
Convert to an unsigned amount.
Trait Implementations
impl Add<SignedAmount> for SignedAmount
[src]
impl Add<SignedAmount> for SignedAmount
[src]type Output = SignedAmount
The resulting type after applying the +
operator.
fn add(self, rhs: SignedAmount) -> Self::Output
[src]
impl AddAssign<SignedAmount> for SignedAmount
[src]
impl AddAssign<SignedAmount> for SignedAmount
[src]fn add_assign(&mut self, other: SignedAmount)
[src]
impl Clone for SignedAmount
[src]
impl Clone for SignedAmount
[src]fn clone(&self) -> SignedAmount
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for SignedAmount
[src]
impl Copy for SignedAmount
[src]impl Default for SignedAmount
[src]
impl Default for SignedAmount
[src]impl Div<i64> for SignedAmount
[src]
impl Div<i64> for SignedAmount
[src]impl DivAssign<i64> for SignedAmount
[src]
impl DivAssign<i64> for SignedAmount
[src]fn div_assign(&mut self, rhs: i64)
[src]
impl Eq for SignedAmount
[src]
impl Eq for SignedAmount
[src]impl FromStr for SignedAmount
[src]
impl FromStr for SignedAmount
[src]impl Hash for SignedAmount
[src]
impl Hash for SignedAmount
[src]impl Mul<i64> for SignedAmount
[src]
impl Mul<i64> for SignedAmount
[src]impl MulAssign<i64> for SignedAmount
[src]
impl MulAssign<i64> for SignedAmount
[src]fn mul_assign(&mut self, rhs: i64)
[src]
impl Ord for SignedAmount
[src]
impl Ord for SignedAmount
[src]impl PartialEq<SignedAmount> for SignedAmount
[src]
impl PartialEq<SignedAmount> for SignedAmount
[src]fn eq(&self, other: &SignedAmount) -> bool
[src]
fn ne(&self, other: &SignedAmount) -> bool
[src]
impl PartialOrd<SignedAmount> for SignedAmount
[src]
impl PartialOrd<SignedAmount> for SignedAmount
[src]fn partial_cmp(&self, other: &SignedAmount) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Rem<i64> for SignedAmount
[src]
impl Rem<i64> for SignedAmount
[src]type Output = SignedAmount
The resulting type after applying the %
operator.
fn rem(self, modulus: i64) -> Self
[src]
impl RemAssign<i64> for SignedAmount
[src]
impl RemAssign<i64> for SignedAmount
[src]fn rem_assign(&mut self, modulus: i64)
[src]
impl StructuralEq for SignedAmount
[src]
impl StructuralEq for SignedAmount
[src]impl StructuralPartialEq for SignedAmount
[src]
impl StructuralPartialEq for SignedAmount
[src]impl Sub<SignedAmount> for SignedAmount
[src]
impl Sub<SignedAmount> for SignedAmount
[src]type Output = SignedAmount
The resulting type after applying the -
operator.
fn sub(self, rhs: SignedAmount) -> Self::Output
[src]
impl SubAssign<SignedAmount> for SignedAmount
[src]
impl SubAssign<SignedAmount> for SignedAmount
[src]fn sub_assign(&mut self, other: SignedAmount)
[src]
Auto Trait Implementations
impl RefUnwindSafe for SignedAmount
impl RefUnwindSafe for SignedAmount
impl Send for SignedAmount
impl Send for SignedAmount
impl Sync for SignedAmount
impl Sync for SignedAmount
impl Unpin for SignedAmount
impl Unpin for SignedAmount
impl UnwindSafe for SignedAmount
impl UnwindSafe for SignedAmount