Package-level declarations

Types

Link copied to clipboard

Pure Kotlin arbitrary-precision signed decimal number backed by JavaScript BigInt.

Link copied to clipboard
sealed class Decimal : Comparable<Decimal>

Immutable, arbitrary-precision signed decimal numbers.

Link copied to clipboard
@RequiresOptIn(message = "On the JS family Decimal is backed by a custom BigDecimal implementation that may not cover every edge case.", level = RequiresOptIn.Level.ERROR)
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class ExperimentalJsDecimal

Marks the custom JavaScript BigDecimal implementation backing Decimal, which may not cover every edge case of the platform decimal types used on other targets.

Link copied to clipboard
actual typealias FiniteDecimal = BigDecimal

Platform specific representation of a finite immutable, arbitrary-precision signed decimal number

actual data class FiniteDecimal : Comparable<FiniteDecimal>

Platform specific representation of a finite immutable, arbitrary-precision signed decimal number

Platform specific representation of a finite immutable, arbitrary-precision signed decimal number

actual typealias FiniteDecimal = BigDecimal

Platform specific representation of a finite immutable, arbitrary-precision signed decimal number

actual data class FiniteDecimal : Comparable<FiniteDecimal>

Platform specific representation of a finite immutable, arbitrary-precision signed decimal number

actual data class FiniteDecimal : Comparable<FiniteDecimal>

Platform specific representation of a finite immutable, arbitrary-precision signed decimal number

Link copied to clipboard
sealed class RoundingMode

Rounding Mode for rounding a Decimal

Functions

Link copied to clipboard
actual operator fun FiniteDecimal.div(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.div(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
operator fun Decimal.div(value: Decimal): Decimal

Divides two Decimal.

fun Decimal.div(value: Decimal, scale: Int): Decimal
fun Decimal.div(value: Decimal, scale: Int, roundingMode: RoundingMode = RoundingMode.RoundHalfEven): Decimal

Divides two Decimal to a given precision.

actual operator fun FiniteDecimal.div(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.div(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual operator fun FiniteDecimal.div(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.div(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
Link copied to clipboard
actual operator fun FiniteDecimal.minus(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.minus(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
operator fun Decimal.minus(value: Decimal): Decimal

Subtracts two Decimal.

fun Decimal.minus(value: Decimal, scale: Int): Decimal
fun Decimal.minus(value: Decimal, scale: Int, roundingMode: RoundingMode = RoundingMode.RoundHalfEven): Decimal

Subtracts two Decimal to a given precision.

actual operator fun FiniteDecimal.minus(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.minus(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual operator fun FiniteDecimal.minus(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.minus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
Link copied to clipboard
actual operator fun FiniteDecimal.plus(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.plus(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
operator fun Decimal.plus(value: Decimal): Decimal

Adds two Decimal together.

fun Decimal.plus(value: Decimal, scale: Int): Decimal
fun Decimal.plus(value: Decimal, scale: Int, roundingMode: RoundingMode = RoundingMode.RoundHalfEven): Decimal

Adds two Decimal together scaled to a given precision.

actual operator fun FiniteDecimal.plus(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.plus(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual operator fun FiniteDecimal.plus(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.plus(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
Link copied to clipboard
actual infix fun FiniteDecimal.pow(n: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual infix fun FiniteDecimal.pow(n: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int, roundingMode: RoundingMode): FiniteDecimal
infix fun Decimal.pow(n: Int): Decimal

Raises two Decimal.

fun Decimal.pow(n: Int, scale: Int): Decimal
fun Decimal.pow(n: Int, scale: Int, roundingMode: RoundingMode = RoundingMode.RoundHalfEven): Decimal

Raises two Decimal to a given precision.

actual infix fun FiniteDecimal.pow(n: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual infix fun FiniteDecimal.pow(n: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual infix fun FiniteDecimal.pow(n: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int): FiniteDecimal
actual fun FiniteDecimal.pow(n: Int, scale: Int, roundingMode: RoundingMode): FiniteDecimal
Link copied to clipboard
actual fun FiniteDecimal.round(scale: Int, roundingMode: RoundingMode): BigDecimal?
actual fun FiniteDecimal.round(scale: Int, roundingMode: RoundingMode): FiniteDecimal
fun Decimal.round(scale: Int, roundingMode: RoundingMode = RoundingMode.RoundHalfEven): Decimal

Rounds a Decimal to a scale.

actual fun FiniteDecimal.round(scale: Int, roundingMode: RoundingMode): BigDecimal?
actual fun FiniteDecimal.round(scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual fun FiniteDecimal.round(scale: Int, roundingMode: RoundingMode): FiniteDecimal
Link copied to clipboard
Link copied to clipboard
actual operator fun FiniteDecimal.times(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.times(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
operator fun Decimal.times(value: Decimal): Decimal

Multiplies two Decimal.

fun Decimal.times(value: Decimal, scale: Int): Decimal
fun Decimal.times(value: Decimal, scale: Int, roundingMode: RoundingMode = RoundingMode.RoundHalfEven): Decimal

Multiplies two Decimal to a given precision.

actual operator fun FiniteDecimal.times(value: FiniteDecimal): BigDecimal?
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int): BigDecimal?
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): BigDecimal?
actual operator fun FiniteDecimal.times(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
actual operator fun FiniteDecimal.times(value: FiniteDecimal): FiniteDecimal
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int): FiniteDecimal
actual fun FiniteDecimal.times(value: FiniteDecimal, scale: Int, roundingMode: RoundingMode): FiniteDecimal
Link copied to clipboard

Converts a Number to a Decimal

Converts a String to a Decimal

Link copied to clipboard

Converts a ByteArray to a list of Decimal

Converts a DoubleArray to a list of Decimal

Converts a FloatArray to a list of Decimal

Converts an IntArray to a list of Decimal

Converts a LongArray to a list of Decimal

Converts a ShortArray to a list of Decimal

Converts a Collection of NumberType to a list of Decimal

Link copied to clipboard

Gets the double value of a Decimal

Link copied to clipboard

Converts a collection of Decimal to a DoubleArray

Link copied to clipboard
Link copied to clipboard
actual fun FiniteDecimal.toInt(): Int
actual fun FiniteDecimal.toInt(): Int

Gets the integer value of a Decimal

actual fun FiniteDecimal.toInt(): Int
actual fun FiniteDecimal.toInt(): Int
actual fun FiniteDecimal.toInt(): Int
Link copied to clipboard

Converts a collection of Decimal to an IntArray

Link copied to clipboard
actual fun FiniteDecimal.toLong(): Long
actual fun FiniteDecimal.toLong(): Long

Gets the long value of a Decimal

actual fun FiniteDecimal.toLong(): Long
actual fun FiniteDecimal.toLong(): Long
actual fun FiniteDecimal.toLong(): Long
Link copied to clipboard

Converts a collection of Decimal to a LongArray

Link copied to clipboard

Gets the string value of a Decimal

Link copied to clipboard

Converts a collection of Decimal to a list of String