FixedNumber
A FixedNumber is a fixed-width (in bits) number with an internal base-10 divisor, which allows it to represent a decimal fractional component.
The FixedNumber class is directly imported from The Ethers Project. The complete documentation can be found in the official ethers docs.
Creating Instances
The FixedNumber constructor cannot be called directly. There are several static methods for creating a FixedNumber.
FixedNumber.from( value [ , format = "fixed" ] ) ⇒ FixedNumber
FixedNumber.from( value [ , format = "fixed" ] ) ⇒ FixedNumber
Returns an instance of a FixedNumber for value as a format.
FixedNumber.fromBytes( aBytesLike [ , format = "fixed" ] ) ⇒ FixedNumber
FixedNumber.fromBytes( aBytesLike [ , format = "fixed" ] ) ⇒ FixedNumber
Returns an instance of a FixedNumber for value as a format.
FixedNumber.fromString( value [ , format = "fixed" ] ) ⇒ FixedNumber
FixedNumber.fromString( value [ , format = "fixed" ] ) ⇒ FixedNumber
Returns an instance of a FixedNumber for value as a format. The value must not contain more decimals than the format permits.
FixedNumber.fromValue( value [ , decimals = 0 [ , format = "fixed" ] ] ) ⇒ FixedNumber
FixedNumber.fromValue( value [ , decimals = 0 [ , format = "fixed" ] ] ) ⇒ FixedNumber
Returns an instance of a FixedNumber for value with decimals as a format.
Properties
fixednumber.format
fixednumber.format
The FixedFormat of fixednumber.
Methods
Math Operations
fixednumber.addUnsafe( otherValue ) ⇒ FixedNumber
fixednumber.addUnsafe( otherValue ) ⇒ FixedNumber
Returns a new FixedNumber with the value of fixedvalue + otherValue.
fixednumber.subUnsafe( otherValue ) ⇒ FixedNumber
fixednumber.subUnsafe( otherValue ) ⇒ FixedNumber
Returns a new FixedNumber with the value of fixedvalue - otherValue.
fixednumber.mulUnsafe( otherValue ) ⇒ FixedNumber
fixednumber.mulUnsafe( otherValue ) ⇒ FixedNumber
Returns a new FixedNumber with the value of fixedvalue × otherValue.
fixednumber.divUnsafe( otherValue ) ⇒ FixedNumber
fixednumber.divUnsafe( otherValue ) ⇒ FixedNumber
Returns a new FixedNumber with the value of fixedvalue ÷ otherValue.
fixednumber.round( [ decimals = 0 ] ) ⇒ FixedNumber
fixednumber.round( [ decimals = 0 ] ) ⇒ FixedNumber
Returns a new FixedNumber with the value of fixedvalue rounded to decimals.
Comparison and Equivalence
FixedNumber.isZero() ⇒ boolean
FixedNumber.isZero() ⇒ boolean
Returns true if and only if the value of FixedNumber is zero.
Conversion
fixednumber.toFormat( format ) ⇒ FixedNumber
fixednumber.toFormat( format ) ⇒ FixedNumber
Returns a new FixedNumber with the value of fixedvalue with format.
fixednumber.toHexString() ⇒ string
fixednumber.toHexString() ⇒ string
Returns a HexString representation of fixednumber.
fixednumber.toString() ⇒ string
fixednumber.toString() ⇒ string
Returns a string representation of fixednumber.
fixednumber.toUnsafeFloat() ⇒ float
fixednumber.toUnsafeFloat() ⇒ float
Returns a floating-point JavaScript number value of fixednumber. Due to rounding in JavaScript numbers, the value is only approximate.
Inspection
FixedNumber.isFixedNumber( value ) ⇒ boolean
FixedNumber.isFixedNumber( value ) ⇒ boolean
Returns true if and only if value is a FixedNumber.
FixedFormat
A FixedFormat is a simple object which represents a decimal (base-10) Fixed-Point data representation. Usually using this class directly is unnecessary, as passing in a Format Strings directly into the FixedNumber will automatically create this.
Format Strings
A format string is composed of three components, including signed-ness, bit-width and number of decimals.
A signed format string begins with fixed
, which an unsigned format string begins with ufixed
, followed by the width (in bits) and the number of decimals.
The width must be congruent to 0 mod 8 (i.e. (width % 8) == 0
) and no larger than 256 bits and the number of decimals must be no larger than 80.
For example:
fixed128x18 is signed, 128 bits wide and has 18 decimals; this is useful for most purposes
fixed32x0 is signed, 32 bits wide and has 0 decimals; this would be the same as a
int32_t
in Cufixed32x0 is unsigned, 32 bits wide and has 0 decimals; this would be the same as a
uint32_t
in Cfixed is shorthand for
fixed128x18
ufixed is shorthand for
ufixed128x18
Creating Instances
Returns a new instance of a FixedFormat defined by value. Any valid Format Strings may be passed in as well as any object which has any of signed
, width
and decimals
defined, including a FixedFormat object.
Properties
fixedFormat.signed ⇒ boolean
fixedFormat.signed ⇒ boolean
The signed-ness of fixedFormat, true if negative values are supported.
fixedFormat.width ⇒ number
fixedFormat.width ⇒ number
The width (in bits) of fixedFormat.
fixedFormat.decimals ⇒ number
fixedFormat.decimals ⇒ number
The number of decimal points of fixedFormat.
fixedFormat.name ⇒ string
fixedFormat.name ⇒ string
The name of the fixedFormat, which can be used to recreate the format and is the string that the Solidity language uses to represent this format.
"fixed"
A shorthand for fixed128x80
.
Last updated