Click here for v1.x documentation.
Dinero.js
Dinero.js version

subtract

Dinero<TAmount>

Subtract two Dinero objects.

You can only subtract objects that share the same currency. The function also normalizes objects to the same scale (the highest) before adding them up.

Copy linkParameters

NameTypeDescriptionRequired
minuendDinero<TAmount>

The Dinero object to subtract from.

Yes
subtrahendDinero<TAmount>

The Dinero object to subtract.

Yes

Copy linkCode examples

Copy linkSubtract objects

import { dinero, subtract } from 'dinero.js';
import { USD } from '@dinero.js/currencies';

const d1 = dinero({ amount: 500, currency: USD });
const d2 = dinero({ amount: 100, currency: USD });

subtract(d1, d2); // a Dinero object with amount 400

Copy linkSubtract objects with a different scale

import { dinero, subtract } from 'dinero.js';
import { USD } from '@dinero.js/currencies';

const d1 = dinero({ amount: 500, currency: USD });
const d2 = dinero({ amount: 1000, currency: USD, scale: 3 });

subtract(d1, d2); // a Dinero object with amount 4000 and scale 3

Copy linkSubtract more than two objects

import { dinero, subtract } from 'dinero.js';
import { USD } from '@dinero.js/currencies';

const d1 = dinero({ amount: 400, currency: USD });
const d2 = dinero({ amount: 200, currency: USD });
const d3 = dinero({ amount: 100, currency: USD });

const subtractMany = (subtrahends) => subtrahends.reduce(subtract);

subtractMany([d1, d2, d3]); // a Dinero object with amount 100