Struct bitcoin::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_BTC: 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_btc(btc: 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 Self::to_string_with_denomination or with fmt::Display. If you want to parse only the amount without the denomination, use Self::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_btc(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 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 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 SerdeAmount for SignedAmount
[src]
impl SerdeAmount for SignedAmount
[src]impl SerdeAmountForOpt for SignedAmount
[src]
impl SerdeAmountForOpt for SignedAmount
[src]fn type_prefix() -> &'static str
[src]
fn ser_sat_opt<S: Serializer>(self, s: S) -> Result<S::Ok, S::Error>
[src]
fn ser_btc_opt<S: Serializer>(self, s: S) -> Result<S::Ok, S::Error>
[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]