js-big-decimal
Version:
Work with large numbers on the client side. Round them off to any required precision.
38 lines (37 loc) • 1.67 kB
TypeScript
import { RoundingModes as Modes, RoundingModes } from "./roundingModes";
declare class bigDecimal {
private value;
static RoundingModes: typeof Modes;
private static validate;
constructor(number?: number | string | bigint);
getValue(): string;
setValue(num: number | string | bigint): void;
static getPrettyValue(number: any, digits?: number, separator?: string): string;
getPrettyValue(digits?: number, separator?: string): string;
static round(number: any, precision?: number, mode?: Modes): string;
round(precision?: number, mode?: Modes): bigDecimal;
static abs(number: any): string;
abs(): bigDecimal;
static floor(number: any): any;
floor(): bigDecimal;
static ceil(number: any): any;
ceil(): bigDecimal;
static add(number1: any, number2: any): string;
add(number: bigDecimal): bigDecimal;
static subtract(number1: any, number2: any): string;
subtract(number: bigDecimal): bigDecimal;
static multiply(number1: any, number2: any): string;
multiply(number: bigDecimal): bigDecimal;
static divide(number1: any, number2: any, precision?: number, mode?: RoundingModes): string;
divide(number: bigDecimal, precision?: number, mode?: RoundingModes): bigDecimal;
static modulus(number1: any, number2: any): string;
modulus(number: bigDecimal): bigDecimal;
static compareTo(number1: any, number2: any): 0 | 1 | -1;
compareTo(number: bigDecimal): 0 | 1 | -1;
static negate(number: any): string;
negate(): bigDecimal;
static stripTrailingZero(number: any): any;
stripTrailingZero(): bigDecimal;
}
export { bigDecimal };
export default bigDecimal;