(n: BigDecimal): booleanChecks whether a given BigDecimal is an integer.
When to use
Use to test whether a BigDecimal has no fractional decimal part.
Example (Checking integer decimals)
import { BigDecimal } from "effect"
import * as assert from "node:assert"
assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("0")), true)
assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("1")), true)
assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("1.1")), false)predicates
Source effect/BigDecimal.ts:16071 lines
export const const isInteger: (
n: BigDecimal
) => boolean
Checks whether a given BigDecimal is an integer.
When to use
Use to test whether a BigDecimal has no fractional decimal part.
Example (Checking integer decimals)
import { BigDecimal } from "effect"
import * as assert from "node:assert"
assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("0")), true)
assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("1")), true)
assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("1.1")), false)
isInteger = (n: BigDecimal(parameter) n: {
value: bigint;
scale: number;
normalized: BigDecimal;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
n: BigDecimal): boolean => const normalize: (
self: BigDecimal
) => BigDecimal
Normalizes a given BigDecimal by removing trailing zeros.
When to use
Use to canonicalize decimals that have equivalent values but different
internal scales.
Example (Normalizing trailing zeros)
import { BigDecimal } from "effect"
import * as assert from "node:assert"
assert.deepStrictEqual(
BigDecimal.normalize(BigDecimal.fromStringUnsafe("123.00000")),
BigDecimal.normalize(BigDecimal.make(123n, 0))
)
assert.deepStrictEqual(
BigDecimal.normalize(BigDecimal.fromStringUnsafe("12300000")),
BigDecimal.normalize(BigDecimal.make(123n, -5))
)
normalize(n: BigDecimal(parameter) n: {
value: bigint;
scale: number;
normalized: BigDecimal;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
n).BigDecimal.scale: numberscale <= 0