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
Name | Type | Description | Required |
---|---|---|---|
minuend | Dinero<TAmount> | The Dinero object to subtract from. | Yes |
subtrahend | Dinero<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