[−][src]Struct bitcoin::util::amount::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.
Methods
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 [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_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 [SignedAmount]s. 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 Ord for SignedAmount
[src]
fn cmp(&self, other: &SignedAmount) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self
[src]
clamp
)Restrict a value to a certain interval. Read more
impl PartialOrd<SignedAmount> for SignedAmount
[src]
fn partial_cmp(&self, other: &SignedAmount) -> Option<Ordering>
[src]
fn lt(&self, other: &SignedAmount) -> bool
[src]
fn le(&self, other: &SignedAmount) -> bool
[src]
fn gt(&self, other: &SignedAmount) -> bool
[src]
fn ge(&self, other: &SignedAmount) -> bool
[src]
impl Default for SignedAmount
[src]
impl Clone for SignedAmount
[src]
fn clone(&self) -> SignedAmount
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<SignedAmount> for SignedAmount
[src]
fn eq(&self, other: &SignedAmount) -> bool
[src]
fn ne(&self, other: &SignedAmount) -> bool
[src]
impl Eq for SignedAmount
[src]
impl Copy for SignedAmount
[src]
impl Display for SignedAmount
[src]
impl Debug 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 Sub<SignedAmount> for SignedAmount
[src]
type Output = SignedAmount
The resulting type after applying the -
operator.
fn sub(self, rhs: SignedAmount) -> Self::Output
[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 Mul<i64> for SignedAmount
[src]
type Output = SignedAmount
The resulting type after applying the *
operator.
fn mul(self, rhs: i64) -> Self::Output
[src]
impl Div<i64> for SignedAmount
[src]
type Output = SignedAmount
The resulting type after applying the /
operator.
fn div(self, rhs: i64) -> Self::Output
[src]
impl AddAssign<SignedAmount> for SignedAmount
[src]
fn add_assign(&mut self, other: SignedAmount)
[src]
impl SubAssign<SignedAmount> for SignedAmount
[src]
fn sub_assign(&mut self, other: SignedAmount)
[src]
impl MulAssign<i64> for SignedAmount
[src]
fn mul_assign(&mut self, rhs: i64)
[src]
impl DivAssign<i64> for SignedAmount
[src]
fn div_assign(&mut self, rhs: i64)
[src]
impl RemAssign<i64> for SignedAmount
[src]
fn rem_assign(&mut self, modulus: i64)
[src]
impl Hash for SignedAmount
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl FromStr for SignedAmount
[src]
Auto Trait Implementations
impl Unpin for SignedAmount
impl Sync for SignedAmount
impl Send for SignedAmount
impl UnwindSafe for SignedAmount
impl RefUnwindSafe for SignedAmount
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,