moneiro
v0.9.1
Published
Provides a library of routines supporting financial calculations in JavaScript.
Downloads
2
Readme
moneiro
moneiro
is a JavaScript library that provides a type and a set of functions to support financial calculations.
Money
, a type that the library provides, represents a fixed-point decimal number. This type is designed to be used in financial calculations, where rounding errors are not acceptable.
The moneiro
's default exported function creates a new instance of Money
from a number of minor units (e.g. cents) or another Money
instance.
It also provides functions to create a Money
instance from a variety of sources:
- from a string formatted as
-1,234.56
, usemoney.parse(value)
ormoney.fromString(value)
. - from a number of cents (or pense), use
money.fromMinor(value)
. - from a floating-point number, rounding to a lowest cent, use
money.fromNumber(value)
. - from a number of major units (dollars), use
money.fromMajor(value)
.
It can holds values from -90071992547409.91 to 90071992547409.91.
A Money
instance provides these operations:
value
- returns an integer representation of thisMoney
instance.add(money1, money2, ...)
- returns a new instance ofMoney
with added amounts.distribute(recipients, unit)
- divides the amount amongrecipients
, proportionally to their shares. Operate inunit
(default isminor
).major()
- returns a number of major units (dollars) as an integer JavaScript number, e.g.1
for1.23
.minor()
- returns a number of minor units (dollars) as an integer JavaScript number, e.g.23
for1.23
.substract(money1, money2, ...)
- returns a new instance ofMoney
with substracted amounts.toNumber()
- returns a floating-point number representation of theMoney
instance.toString()
- returns string representation of theMoney
instance, e.g.-1,234.56
.
moneiro
also provides these constants:
minor
- indicates that computations are done in minor units (cents).major
- indicates that computations are done in major units (dollars).zero
- zero value.
In addition, moneiro
provides these utility functions:
isMoney(value)
- returnstrue
ifvalue
is an instance ofMoney
.
Usage
Include moneiro
:
var money = require('moneiro');
Create a Money
instance, distribute it among shareholders, and sum up the result:
const amount = money.parse('1,204.20');
const dividends = amount.distribute([.6, .2, .2]);
const total =
dividends.reduce(
(sum, item) => sum.add(item),
money.zero);