Имеет конструкторы:

new Money(float: number): TMoney<'XXX'>;
new Money<C extends CurrencyCode>(float: number, currency: C): TMoney<C>;

При работе в сценариях предпочтительно использовать конструктор с указанием конкретной валюты:

const price = new Money(100.5, 'RUB');

Коды валют соответствуют стандарту ISO 4217.

Значения этого типа неизменяемые, так что методы мутации возвращают обновлённое значение, не меняя исходного.

const price = new Money(100.5, 'RUB');
const total = price.multiply(count);

Type parameters

  • C: CurrencyCode

Hierarchy

  • TMoney

Properties

Readonly cents

cents: number

Количество центов / копеек.

Readonly currency

currency: C

Валюта (буквенный код по стандарту ISO 4217).

Methods

add

  • Сложение.

    Parameters

    Returns TMoney<C>

asFloat

  • asFloat(): number
  • Приведение к десятичной дроби с точностью, соответствующей валюте.

    const salary = new Money(101, 'RUB');
    const salary2 = salary.multiply(0,001);
    salary2.asFloat(); // 0.1
    

    Returns number

multiply

  • multiply(k: number): TMoney<C>
  • Умножить на число с округлением центов в нижнюю сторону.

    Parameters

    • k: number

    Returns TMoney<C>