Show / Hide Table of Contents

Struct FungibleAssetValue

Holds a fungible asset value which holds its Currency together.

Implements
IEquatable<FungibleAssetValue>
IComparable<FungibleAssetValue>
IComparable
ISerializable
Namespace: Libplanet.Assets
Assembly: Libplanet.dll
Syntax
public readonly struct FungibleAssetValue : IEquatable<FungibleAssetValue>, IComparable<FungibleAssetValue>, IComparable, ISerializable
Remarks

It behaves like numbers except for division operator (/) to prevent to forget to handle its remainder; use DivRem(FungibleAssetValue) and DivRem(BigInteger) methods instead.

Constructors

| Improve this Doc View Source

FungibleAssetValue(Currency)

Creates a zero value of the currency.

Declaration
public FungibleAssetValue(Currency currency)
Parameters
Type Name Description
Currency currency

The currency to create a zero value.

| Improve this Doc View Source

FungibleAssetValue(Currency, BigInteger, BigInteger)

Creates a value of the currency from the given majorUnit and minorUnit.

Declaration
public FungibleAssetValue(Currency currency, BigInteger majorUnit, BigInteger minorUnit)
Parameters
Type Name Description
Currency currency

The currency to create a value.

BigInteger majorUnit

The major unit of the fungible asset value, i.e., digits before the decimal separator.

BigInteger minorUnit

The minor unit of the fungible asset value, i.e., digits after the decimal separator.

See Also
DecimalPlaces
| Improve this Doc View Source

FungibleAssetValue(Currency, Int32, BigInteger, BigInteger)

Creates a value of the currency from the given sign, majorUnit and minorUnit.

Declaration
public FungibleAssetValue(Currency currency, int sign, BigInteger majorUnit, BigInteger minorUnit)
Parameters
Type Name Description
Currency currency

The currency to create a value.

Int32 sign

Indicates the sign (negative, positive, or zero) of the value. -1 indicates negative, 1 indicates positive, and 0 indicates zero.

BigInteger majorUnit

The major unit of the fungible asset value, i.e., digits before the decimal separator. Must not be negative.

BigInteger minorUnit

The minor unit of the fungible asset value, i.e., digits after the decimal separator. Must not be negative.

See Also
DecimalPlaces

Fields

| Improve this Doc View Source

Currency

The currency of the fungible asset.

Declaration
public readonly Currency Currency
Field Value
Type Description
Currency
| Improve this Doc View Source

RawValue

The internal representation of the fungible asset.

Declaration
public readonly BigInteger RawValue
Field Value
Type Description
BigInteger
Remarks

Since this is an internal representation, this does not guarantee forward compatibility. Therefore, do not depend on this value for permanent uses but only for volatile data.

See Also
FromRawValue(Currency, BigInteger)

Properties

| Improve this Doc View Source

MajorUnit

The major unit of the fungible asset value, i.e., digits before the decimal separator, in absolute value.

Declaration
public readonly BigInteger MajorUnit { get; }
Property Value
Type Description
BigInteger
Remarks

It is absolute value, which lacks Sign.

See Also
DecimalPlaces
| Improve this Doc View Source

MinorUnit

The minor unit of the fungible asset value, i.e., digits after the decimal separator, in absolute value.

Declaration
public readonly BigInteger MinorUnit { get; }
Property Value
Type Description
BigInteger
Remarks

It is absolute value, which lacks Sign.

See Also
DecimalPlaces
| Improve this Doc View Source

Sign

Gets a number that indicates the sign (negative, positive, or zero) of the value.

Declaration
public readonly int Sign { get; }
Property Value
Type Description
Int32

A number that indicates the sign of the fungible asset value, as shown in the following table:

NumberDescription
-1The value is negative.
0The value is zero.
1The value is positive.

Methods

| Improve this Doc View Source

Abs()

Gets the absolute value.

Removes the negative sign if it's negative. Otherwise does nothing.

Declaration
public readonly FungibleAssetValue Abs()
Returns
Type Description
FungibleAssetValue

Its absolute value.

| Improve this Doc View Source

CompareTo(FungibleAssetValue)

Declaration
public readonly int CompareTo(FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue other
Returns
Type Description
Int32
| Improve this Doc View Source

CompareTo(Nullable<Object>)

Declaration
public readonly int CompareTo(object? obj)
Parameters
Type Name Description
Nullable<Object> obj
Returns
Type Description
Int32
| Improve this Doc View Source

DivRem(BigInteger)

Divides the value by divisor, and returns a pair of the quotient and the remainder.

Declaration
public readonly (FungibleAssetValue Quotient, FungibleAssetValue Remainder) DivRem(BigInteger divisor)
Parameters
Type Name Description
BigInteger divisor

The number to divide by.

Returns
Type Description
(, )<FungibleAssetValue, FungibleAssetValue>

A tuple of the Quotient and Remainder of the division.

| Improve this Doc View Source

DivRem(BigInteger, out FungibleAssetValue)

Divides the value by divisor, returns the quotient, and returns the remainder in an output parameter.

Declaration
public readonly FungibleAssetValue DivRem(BigInteger divisor, out FungibleAssetValue remainder)
Parameters
Type Name Description
BigInteger divisor

The number to divide by.

FungibleAssetValue remainder

When this method returns (without any exception), the remainder after dividing the value by divisor. This parameter is passed uninitialized.

Returns
Type Description
FungibleAssetValue

The quotient of the division.

| Improve this Doc View Source

DivRem(FungibleAssetValue)

Divides the value by divisor, and returns a pair of the quotient and the remainder.

Declaration
public readonly (BigInteger Quotient, FungibleAssetValue Remainder) DivRem(FungibleAssetValue divisor)
Parameters
Type Name Description
FungibleAssetValue divisor

The value to divide by.

Returns
Type Description
(, )<BigInteger, FungibleAssetValue>

A tuple of the Quotient and Remainder of the division.

| Improve this Doc View Source

DivRem(FungibleAssetValue, out FungibleAssetValue)

Divides the value by divisor, returns the quotient, and returns the remainder in an output parameter.

Declaration
public readonly BigInteger DivRem(FungibleAssetValue divisor, out FungibleAssetValue remainder)
Parameters
Type Name Description
FungibleAssetValue divisor

The value to divide by.

FungibleAssetValue remainder

When this method returns (without any exception), the remainder after dividing the value by divisor. This parameter is passed uninitialized.

Returns
Type Description
BigInteger

The quotient of the division.

| Improve this Doc View Source

Equals(FungibleAssetValue)

Declaration
public readonly bool Equals(FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue other
Returns
Type Description
Boolean
| Improve this Doc View Source

Equals(Nullable<Object>)

Declaration
public override readonly bool Equals(object? obj)
Parameters
Type Name Description
Nullable<Object> obj
Returns
Type Description
Boolean
| Improve this Doc View Source

FromRawValue(Currency, BigInteger)

Restores a value from a rawValue of a currency.

Declaration
public static FungibleAssetValue FromRawValue(Currency currency, BigInteger rawValue)
Parameters
Type Name Description
Currency currency

The currency to create a value.

BigInteger rawValue

The RawValue to restore.

Returns
Type Description
FungibleAssetValue

The value restored from the given rawValue.

See Also
RawValue
| Improve this Doc View Source

GetHashCode()

Declaration
public override readonly int GetHashCode()
Returns
Type Description
Int32
| Improve this Doc View Source

GetQuantityString(Boolean)

Gets the value quantity without its Currency in .

Declaration
public readonly string GetQuantityString(bool minorUnit = false)
Parameters
Type Name Description
Boolean minorUnit

Whether to show all possible decimal places even if they are zeros.

Returns
Type Description
String

A quantity string in decimal system. Consists of an optional sign (minus), digits and an optional decimal separator (period).

| Improve this Doc View Source

Parse(Currency, String)

Parses a numeric string and returns a corresponding FungibleAssetValue.

Declaration
public static FungibleAssetValue Parse(Currency currency, string value)
Parameters
Type Name Description
Currency currency

The currency of the value to parse.

String value

A numeric string to parse. Can consist of digits, plus (+), minus (-), and decimal separator (.).

Returns
Type Description
FungibleAssetValue

The parsed asset value.

| Improve this Doc View Source

ToString()

Declaration
public override readonly string ToString()
Returns
Type Description
String

Operators

| Improve this Doc View Source

Addition(FungibleAssetValue, FungibleAssetValue)

Adds two values and returns the result.

Declaration
public static FungibleAssetValue operator +(FungibleAssetValue left, FungibleAssetValue right)
Parameters
Type Name Description
FungibleAssetValue left

The first value to add.

FungibleAssetValue right

The second value to add.

Returns
Type Description
FungibleAssetValue

The sum of left and right.

| Improve this Doc View Source

Equality(FungibleAssetValue, FungibleAssetValue)

Tests if two values are equal.

Declaration
public static bool operator ==(FungibleAssetValue obj, FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue obj

A value.

FungibleAssetValue other

Another value.

Returns
Type Description
Boolean

true if two values are equal. Otherwise false.

| Improve this Doc View Source

GreaterThan(FungibleAssetValue, FungibleAssetValue)

Tests if the left operand (obj) is greater than the right operand (other).

Declaration
public static bool operator>(FungibleAssetValue obj, FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue obj

The left operand to compare.

FungibleAssetValue other

The right operand to compare.

Returns
Type Description
Boolean

true if the left operand (obj) is greater than the right operand (other). Otherwise (even if two operands are equal) false.

| Improve this Doc View Source

GreaterThanOrEqual(FungibleAssetValue, FungibleAssetValue)

Tests if the left operand (obj) is greater than or equal to the right operand (other).

Declaration
public static bool operator >=(FungibleAssetValue obj, FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue obj

The left operand to compare.

FungibleAssetValue other

The right operand to compare.

Returns
Type Description
Boolean

true if the left operand (obj) is greater than or equal to the right operand (other). Otherwise false.

| Improve this Doc View Source

Inequality(FungibleAssetValue, FungibleAssetValue)

Tests if two values are unequal.

Declaration
public static bool operator !=(FungibleAssetValue obj, FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue obj

A value.

FungibleAssetValue other

Another value.

Returns
Type Description
Boolean

false if two values are equal. Otherwise true.

| Improve this Doc View Source

LessThan(FungibleAssetValue, FungibleAssetValue)

Tests if the left operand (obj) is less than the right operand (other).

Declaration
public static bool operator <(FungibleAssetValue obj, FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue obj

The left operand to compare.

FungibleAssetValue other

The right operand to compare.

Returns
Type Description
Boolean

true if the left operand (obj) is less than the right operand (other). Otherwise (even if two operands are equal) false.

| Improve this Doc View Source

LessThanOrEqual(FungibleAssetValue, FungibleAssetValue)

Tests if the left operand (obj) is less than or equal to the right operand (other).

Declaration
public static bool operator <=(FungibleAssetValue obj, FungibleAssetValue other)
Parameters
Type Name Description
FungibleAssetValue obj

The left operand to compare.

FungibleAssetValue other

The right operand to compare.

Returns
Type Description
Boolean

true if the left operand (obj) is less than or equal to the right operand (other). Otherwise false.

| Improve this Doc View Source

Modulus(FungibleAssetValue, BigInteger)

Divides the value (dividend) by divisor, and returns the remainder.

Declaration
public static FungibleAssetValue operator %(FungibleAssetValue dividend, BigInteger divisor)
Parameters
Type Name Description
FungibleAssetValue dividend

The value to be divided.

BigInteger divisor

The number to divide by.

Returns
Type Description
FungibleAssetValue

The remainder after dividing dividend by divisor.

| Improve this Doc View Source

Modulus(FungibleAssetValue, FungibleAssetValue)

Divides the value (dividend) by divisor, and returns the remainder.

Declaration
public static FungibleAssetValue operator %(FungibleAssetValue dividend, FungibleAssetValue divisor)
Parameters
Type Name Description
FungibleAssetValue dividend

The value to be divided.

FungibleAssetValue divisor

The value to divide by.

Returns
Type Description
FungibleAssetValue

The remainder after dividing dividend by divisor.

| Improve this Doc View Source

Multiply(BigInteger, FungibleAssetValue)

Multiplies left times the right value.

Declaration
public static FungibleAssetValue operator *(BigInteger left, FungibleAssetValue right)
Parameters
Type Name Description
BigInteger left

The times to multiply.

FungibleAssetValue right

The value to multiply.

Returns
Type Description
FungibleAssetValue

The multiplied value.

| Improve this Doc View Source

Multiply(FungibleAssetValue, BigInteger)

Multiplies right times the left value.

Declaration
public static FungibleAssetValue operator *(FungibleAssetValue left, BigInteger right)
Parameters
Type Name Description
FungibleAssetValue left

The value to multiply.

BigInteger right

The times to multiply.

Returns
Type Description
FungibleAssetValue

The multiplied value.

| Improve this Doc View Source

Subtraction(FungibleAssetValue, FungibleAssetValue)

Subtracts the right value from the left value.

Declaration
public static FungibleAssetValue operator -(FungibleAssetValue left, FungibleAssetValue right)
Parameters
Type Name Description
FungibleAssetValue left

The value to subtract from (the minuend).

FungibleAssetValue right

The value to subtract (the subtrahend).

Returns
Type Description
FungibleAssetValue

The result of subtracting right from left.

| Improve this Doc View Source

UnaryNegation(FungibleAssetValue)

Negates a value.

Adds a negative sign to the value if it's positive. Removes a negative sign from the value if it's already negative. Does nothing if the value is zero.

Declaration
public static FungibleAssetValue operator -(FungibleAssetValue value)
Parameters
Type Name Description
FungibleAssetValue value

A value to negate.

Returns
Type Description
FungibleAssetValue

A negated value.

Implements

IEquatable<>
IComparable<>
IComparable
ISerializable
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © 2018–2021 Planetarium