For the complete documentation index, see llms.txt. This page is also available as Markdown.

Mathematical operations in ScriptCode

Mathematical operations in ScriptCode

It is recommended to all mathematical operations in scriptCode be performed through the object BigDecimal.


API interface

big-decimal.interface.ts

BigDecimal

interface BigDecimal {
  valueOf(value: string | number | BigDecimal): BigDecimal
  add(augend: string | number | BigDecimal): BigDecimal
  subtract(subtrahend: string | number | BigDecimal): BigDecimal
  multiply(multiplicand: string | number | BigDecimal): BigDecimal
  divide(divisor: string | number | BigDecimal): BigDecimal
  divide(divisor: string | number | BigDecimal, roundingMode: string): BigDecimal
  divide(divisor: string | number | BigDecimal, scale: number): BigDecimal
  divide(divisor: string | number | BigDecimal, scale: number, roundingMode: string): BigDecimal
  setScale(newScale: number): BigDecimal
  setScale(newScale: number, roudingMode: string): BigDecimal
  equals(equated: string | number | BigDecimal): boolean
  compareTo(compared: string | number | BigDecimal): int 
}

decimal-format.interface.ts

rounding-mode.interface.ts

decimal-format-symbols.interface.ts

random.interface.ts

BigDecimal

Object creation


Mathematical operations

Addition

Subtraction

Division

Multiplication

Setting the scale

Comparison and equality


DecimalFormat

Class for formatting decimal numbers in different languages. Documentation: DecimalFormat (Java)

Example

Patterns

Symbol
Meaning

0

Digit placeholder

#

Digit placeholder (0 omitted)

,

Decimal separator

%

Multiplies by 100 and displays as a percentage

E

Scientific notation


Rounding numbers (RoundingMode)

Mode
Description

HALF_UP

Rounds up if the decimal part is ≥ 0.5

CEILING

Always up to the nearest integer

DOWN

Always down

FLOOR

Down to the nearest integer

HALF_DOWN

Down if < 0.5

HALF_EVEN

Banker's rounding (to an even number)


Preferred result scales

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html

Operation
Result scale

Add

max(addend.scale(), augend.scale())

Subtract

max(minuend.scale(), subtrahend.scale())

Multiply

multiplier.scale() + multiplicand.scale()

Divide

dividend.scale() - divisor.scale()

Square root

radicand.scale()/2


Random

Generating UUID identifiers (version 4):

Last updated

Was this helpful?