@turtlenetwork/bignumber
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.1 • Public • Published

    @waves/bignumber

    A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic.


    Load

    The library is the single JavaScript file bignumber.umd.js (or minified, bignumber.umd.min.js).

    Browser:

    <script src='path/to/bignumber.js'></script>

    Node.js:

    $ npm install @waves/bignumber
    const { BigNumber } = require('@waves/bignumber');

    ES6 module:

    import { BigNumber } from "@waves/bignumber"

    AMD loader libraries such as requireJS:

    require(['@waves/bignumber'], function(BigNumber) {
        // Use BigNumber here in local scope. No global BigNumber.
    });

    Use

    let x = new BigNumber(123.4567);
    let y = BigNumber('123456.7e-3');
    let z = new BigNumber(x);
    x.eq(y) && y.eq(z) && x.eq(z);      // true

    To get the string value of a BigNumber use toString() or toFixed(). Using toFixed() prevents exponential notation being returned, no matter how large or small the value.

    let x = new BigNumber('1111222233334444555566');
    x.toString();                       // "1111222233334444555566"
    x.toFixed();                        // "1111222233334444555566"
    Clone

    Клонирует объект

    const some = new BigNumber(1);
    const clone = some.clone();
    Add

    Выполняет сложение

    const bigNum = new BigNumber('100');
    const result = bigNum.add('50'); // with method toFixed '150'
    Sub

    Вычитание

    const bigNum = new BigNumber('100');
    const result = bigNum.sub('50'); // with method toFixed '50'
    Mul

    Умножение

    const bigNum = new BigNumber('100');
    const result = bigNum.mul(2); // with method toFixed '200'
    Div

    Деление

    const bigNum = new BigNumber('100');
    const result = bigNum.div(2); //  with method toFixed '50'
    Pow

    Возведение в степень

    const bigNum = new BigNumber('100');
    const result = bigNum.pow(2); // with method toFixed '10000'
    Sqrt

    Квадратный корень

    const bigNum = new BigNumber('100');
    const result = bigNum.sqrt(); // with method toFixed '10'
    Abs

    Модуль

    const bigNum = new BigNumber('-100');
    const result = bigNum.abs(); // with method toFixed 100
    Mod

    Остаток от деления

    const bigNum = new BigNumber('100');
    const result = bigNum.mod(10); // with method toFixed '0' 
    RoundTo

    Округляет. Принимает количество знаков после запятой после округлени и режим округления см тут: http://mikemcl.github.io/bignumber.js/#constructor-properties

    const bigNum = new BigNumber('100');
    const result = bigNum.roundTo(); //
    Eq

    Равенство

    const bigNum = new BigNumber('100');
    const result = bigNum.eq(100); // true
    Lt

    Меньше

    const bigNum = new BigNumber('100');
    const result = bigNum.lt(); //
    Gt

    Больше

    const bigNum = new BigNumber('100');
    const result = bigNum.gt(); //
    Lte

    Меньше или равно

    const bigNum = new BigNumber('100');
    const result = bigNum.lte(); //
    Gte

    Больше или равно

    const bigNum = new BigNumber('100');
    const result = bigNum.gte(); //
    IsNaN

    Проверяет на NaN

    const bigNum = new BigNumber('100');
    const result = bigNum.isNaN(); // false
    IsFinite

    Проверяет на Infinity (положительный и отрицательный)

    const bigNum = new BigNumber('100');
    const result = bigNum.isFinite(); //
    IsZero

    Проверяет на равенство нулю

    const bigNum = new BigNumber('100');
    const result = bigNum.isZero(); // false
    IsPositive

    Больше нуля

    const bigNum = new BigNumber('100');
    const result = bigNum.isPositive(); // true
    IsNegative

    Меньше нуля

    const bigNum = new BigNumber('100');
    const result = bigNum.isNegative(); // false
    IsInt

    Проверяет целое ли число

    const bigNum = new BigNumber('100');
    const result = bigNum.isInt(); //
    GetDecimalsCount

    Получаем количество занков после запятой у числа

    const bigNum = new BigNumber('100');
    const result = bigNum.getDecimalsCount(); // 0
    IsEven

    Четное

    const bigNum = new BigNumber('100');
    const result = bigNum.isEven(); // true
    IsOdd

    Не чётное

    const bigNum = new BigNumber('100');
    const result = bigNum.isOdd(); // false
    ToBytes

    Переводим число в байты со знаком (8 байт). Работает только с целыми числами.

    const bigNum = new BigNumber('100');
    const result = bigNum.toBytes();
    ToFormat

    Выводим число в строковом эквиваленте c с учётом настроек форматирования. Опционально принимает количество знаков округления, режим округления (как в roundTo) и настройки формата вывода.

    const bigNum = new BigNumber('1000000.12312');
    bigNum.toFormat(); // 1,000,000.12312 
    bigNum.toFormat(2); // 1,000,000.12 
    bigNum.toFormat(2); // 1,000,000.12 
    bigNum.toFormat(2, 0); // 1,000,000.13 
    bigNum.toFormat(2, 0, { groupSeparator: ' ' }); // 1 000 000.13 
    ToFixed

    Выводим число в строковом эквиваленте. Опционально принимает количество знаков округления и режим округления (как в roundTo)

    const bigNum = new BigNumber('100');
    const result = bigNum.toFixed(); //
    ToNumber

    Приводит к числу

    const bigNum = new BigNumber('100');
    const result = bigNum.toNumber(); //

    Static Methods

    fromBytes

    Выводит знаковое число из байт. Работает только с 8 байтами.

    const some = BigNumber.fromBytes(Uint8Array.from([1,2,3,4,5,6,7,8]));
    max

    Принимает любое количество аргументов, выбирает наибольшее число из аргументов

    BigNumber.max(1, '2', new BigNumber(4)); // with method toFixed '4'
    min

    Принимает любое количество аргументов, выбирает наименьшее число из аргументов

    BigNumber.min(1, '2', new BigNumber(4)); // with method toFixed '1'
    sum

    Принимает любое количество аргументов, складывает числа

    BigNumber.min(1, '2', new BigNumber(4)); //with method toFixed '7'

    Install

    npm i @turtlenetwork/bignumber

    DownloadsWeekly Downloads

    11

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    159 kB

    Total Files

    13

    Last publish

    Collaborators

    • blackturtle