Hyperlinkv0.8.0-beta.28

BigDecimal

BigDecimal.toNumberUnsafeconsteffect/BigDecimal.ts:1584
(n: BigDecimal): number

Converts a BigDecimal to a JavaScript number.

When to use

Use when you need a JavaScript number at an interop boundary where precision loss is acceptable.

Gotchas

This conversion is unsafe because the result can lose integer or fractional precision, round to a nearby representable value, or become Infinity when the decimal cannot be represented as a finite JavaScript number.

Example (Converting decimals to numbers)

import { BigDecimal } from "effect"
import * as assert from "node:assert"

assert.deepStrictEqual(BigDecimal.toNumberUnsafe(BigDecimal.fromStringUnsafe("123.456")), 123.456)
convertingformat
export const toNumberUnsafe = (n: BigDecimal): number => Number(format(n))