Operacje matematyczne w ScriptCode

Operacje matematyczne w ScriptCode

Zalecane jest, aby wszystkie operacje matematyczne w scriptCode wykonywać poprzez obiekt BigDecimal.


Interfejs API

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

Tworzenie obiektu

circle-exclamation

Operacje matematyczne

Dodawanie

Odejmowanie

Dzielenie

Mnożenie

Ustawienie skali

Porównanie i równość


DecimalFormat

Klasa do formatowania liczb dziesiętnych w różnych językach. Dokumentacja: DecimalFormat (Java)arrow-up-right

Przykład

Patterns

Symbol
Znaczenie

0

Zastępca dla cyfry

#

Zastępca dla cyfry (0 pomijane)

,

Separator dziesiętny

%

Mnoży przez 100 i wyświetla jako procent

E

Notacja naukowa


Zaokrąglanie liczb (RoundingMode)

Tryb
Opis

HALF_UP

Zaokrągla w górę, jeśli część dziesiętna ≥ 0.5

CEILING

Zawsze w górę do najbliższej liczby całkowitej

DOWN

Zawsze w dół

FLOOR

W dół do najbliższej liczby całkowitej

HALF_DOWN

W dół jeśli < 0.5

HALF_EVEN

Zaokrąglenie "bankierskie" (do liczby parzystej)


Preferowane skale wyników

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.htmlarrow-up-right

Operacja
Skala wyniku

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

Generowanie identyfikatorów UUID (wersja 4):

Last updated

Was this helpful?