divideDecimalFixedPoint

function divideDecimalFixedPoint<TSignedness, TTotalBits, TDecimals>(
    a,
    b,
    rounding?,
): DecimalFixedPoint<TSignedness, TTotalBits, TDecimals>;

Divides a DecimalFixedPoint by a scalar.

The second operand may be another DecimalFixedPoint with the same signedness (any total bits or decimals) or a bare bigint. The result always has a's shape.

The optional RoundingMode is consulted whenever the division is inexact; it defaults to 'strict' and throws SOLANA_ERROR__FIXED_POINTS__STRICT_MODE_PRECISION_LOSS in that case. A zero divisor always throws SOLANA_ERROR__FIXED_POINTS__DIVISION_BY_ZERO.

Type Parameters

Type Parameter
TSignedness extends Signedness
TTotalBits extends number
TDecimals extends number

Parameters

ParameterType
aDecimalFixedPoint<TSignedness, TTotalBits, TDecimals>
b| bigint | DecimalFixedPoint<NoInfer<TSignedness>, number, number>
rounding?RoundingMode

Returns

DecimalFixedPoint<TSignedness, TTotalBits, TDecimals>

Example

const usd = decimalFixedPoint('unsigned', 64, 2);
const rate = decimalFixedPoint('unsigned', 64, 4);
divideDecimalFixedPoint(usd('10'), rate('0.05'));   // represents 200.00
divideDecimalFixedPoint(usd('10.50'), 3n, 'round'); // represents 3.50

See

multiplyDecimalFixedPoint

On this page