public final class Coin extends java.lang.Object implements Monetary, java.lang.Comparable<Coin>, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
static Coin |
CENT
0.01 Bitcoins.
|
static Coin |
COIN
One Bitcoin.
|
static Coin |
FIFTY_COINS |
static Coin |
MICROCOIN
0.000001 Bitcoins, also known as 1 µBTC or 1 uBTC.
|
static Coin |
MILLICOIN
0.001 Bitcoins, also known as 1 mBTC.
|
static Coin |
NEGATIVE_SATOSHI
Represents a monetary value of minus one satoshi.
|
static Coin |
SATOSHI
A satoshi is the smallest unit that can be transferred.
|
static int |
SMALLEST_UNIT_EXPONENT
Number of decimals for one Bitcoin.
|
long |
value
The number of satoshis of this monetary value.
|
static Coin |
ZERO
Zero Bitcoins.
|
Modifier and Type | Method and Description |
---|---|
Coin |
add(Coin value) |
static long |
btcToSatoshi(java.math.BigDecimal coins)
Convert a decimal amount of BTC into satoshis.
|
int |
compareTo(Coin other) |
Coin |
div(int divisor)
Alias for divide
|
Coin |
div(long divisor)
Alias for divide
|
long |
divide(Coin divisor) |
Coin |
divide(long divisor) |
Coin[] |
divideAndRemainder(long divisor) |
boolean |
equals(java.lang.Object o) |
long |
getValue()
Returns the number of satoshis of this monetary value.
|
int |
hashCode() |
boolean |
isGreaterThan(Coin other)
Returns true if the monetary value represented by this instance is greater than that
of the given other Coin, otherwise false.
|
boolean |
isLessThan(Coin other)
Returns true if the monetary value represented by this instance is less than that
of the given other Coin, otherwise false.
|
boolean |
isNegative()
Returns true if and only if this instance represents a monetary value less than zero,
otherwise false.
|
boolean |
isPositive()
Returns true if and only if this instance represents a monetary value greater than zero,
otherwise false.
|
boolean |
isZero()
Returns true if and only if this instance represents zero monetary value,
otherwise false.
|
long |
longValue()
Returns the number of satoshis of this monetary value.
|
Coin |
minus(Coin value)
Alias for subtract
|
Coin |
multiply(long factor) |
Coin |
negate() |
static Coin |
ofBtc(java.math.BigDecimal coins)
Create a
Coin from a decimal amount of BTC. |
static Coin |
ofSat(long satoshis)
Create a
Coin from a long integer number of satoshis. |
static Coin |
parseCoin(java.lang.String str)
Create a
Coin by parsing a String amount expressed in "the way humans are used to". |
static Coin |
parseCoinInexact(java.lang.String str)
Create a
Coin by parsing a String amount expressed in "the way humans are used to". |
Coin |
plus(Coin value)
Alias for add
|
static java.math.BigDecimal |
satoshiToBtc(long satoshis)
Convert an amount in satoshis to an amount in BTC.
|
Coin |
shiftLeft(int n) |
Coin |
shiftRight(int n) |
int |
signum() |
int |
smallestUnitExponent()
Returns the absolute value of exponent of the value of a "smallest unit" in scientific notation.
|
Coin |
subtract(Coin value) |
Coin |
times(int factor)
Alias for multiply
|
Coin |
times(long factor)
Alias for multiply
|
java.math.BigDecimal |
toBtc()
Convert to number of bitcoin (in BTC)
|
java.lang.String |
toFriendlyString()
Returns the value as a 0.12 type string.
|
java.lang.String |
toPlainString()
Returns the value as a plain string denominated in BTC.
|
long |
toSat()
Convert to number of satoshis
|
java.lang.String |
toString() |
static Coin |
valueOf(int coins,
int cents)
Create a
Coin from an amount expressed in "the way humans are used to". |
static Coin |
valueOf(long satoshis)
Create a
Coin from a long integer number of satoshis. |
public static final int SMALLEST_UNIT_EXPONENT
public static final Coin ZERO
public static final Coin COIN
public static final Coin CENT
public static final Coin MILLICOIN
public static final Coin MICROCOIN
public static final Coin SATOSHI
public static final Coin FIFTY_COINS
public static final Coin NEGATIVE_SATOSHI
public final long value
public static Coin valueOf(long satoshis)
Coin
from a long integer number of satoshis.satoshis
- number of satoshisCoin
object containing value in satoshispublic int smallestUnitExponent()
Monetary
smallestUnitExponent
in interface Monetary
public long getValue()
public static Coin valueOf(int coins, int cents)
Coin
from an amount expressed in "the way humans are used to".coins
- Number of bitcoinscents
- Number of bitcents (0.01 bitcoin)Coin
object containing value in satoshispublic static long btcToSatoshi(java.math.BigDecimal coins)
coins
- number of coinspublic static java.math.BigDecimal satoshiToBtc(long satoshis)
satoshis
- number of satoshispublic static Coin ofBtc(java.math.BigDecimal coins)
Coin
from a decimal amount of BTC.coins
- number of coins (in BTC)Coin
object containing value in satoshispublic static Coin ofSat(long satoshis)
Coin
from a long integer number of satoshis.satoshis
- number of satoshisCoin
object containing value in satoshispublic static Coin parseCoin(java.lang.String str)
Coin
by parsing a String
amount expressed in "the way humans are used to".str
- string in a format understood by BigDecimal(String)
, for example "0", "1", "0.10",
* "1.23E3", "1234.5E-5".Coin
object containing value in satoshisjava.lang.IllegalArgumentException
- if you try to specify fractional satoshis, or a value out of range.public static Coin parseCoinInexact(java.lang.String str)
Coin
by parsing a String
amount expressed in "the way humans are used to".
The amount is cut to satoshi precision.str
- string in a format understood by BigDecimal(String)
, for example "0", "1", "0.10",
* "1.23E3", "1234.5E-5".Coin
object containing value in satoshisjava.lang.IllegalArgumentException
- if you try to specify a value out of range.public Coin multiply(long factor)
public Coin times(long factor)
public Coin times(int factor)
public Coin divide(long divisor)
public Coin div(long divisor)
public Coin div(int divisor)
public Coin[] divideAndRemainder(long divisor)
public long divide(Coin divisor)
public boolean isPositive()
public boolean isNegative()
public boolean isZero()
public boolean isGreaterThan(Coin other)
public boolean isLessThan(Coin other)
public Coin shiftLeft(int n)
public Coin shiftRight(int n)
public Coin negate()
public long longValue()
value
directly.public long toSat()
public java.math.BigDecimal toBtc()
public java.lang.String toFriendlyString()
public java.lang.String toPlainString()
Returns the value as a plain string denominated in BTC. The result is unformatted with no trailing zeroes. For instance, a value of 150000 satoshis gives an output string of "0.0015" BTC
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object