Canadian Dollar (CAD): 2 decimal places
- ISO 4217 exponent
- 2
- Minor units per unit
- 100
- Intl display digits
- 2
- Symbol (en-US)
- $
CAD in a statement
The same integer in every state a statement can be in. Null is not zero: unknown renders as a dash, never as a zero amount.
| Value | Stored (minor units) | Statement | Money component |
|---|---|---|---|
| Positive | 123456 | 1,234.56 | 1,234 Canadian Dollar and 56 cents |
| Negative | -123456 | (1,234.56) | negative 1,234 Canadian Dollar and 56 cents |
| Zero | 0 | 0.00 | 0 Canadian Dollar |
| Unknown (null) | null | — | not available |
Typing CAD
What a person types, and the integer it is stored as at CAD's exponent. Rounded once, at the end.
| Typed | Stored as |
|---|---|
| 1,234.56 | 123456 |
| (1,234.56) | -123456 |
| 1.2k | 120000 |
| =1200+340*2 | 188000 |
Split without losing a minor unit
100.00 CAD split three ways. Rounding each third leaves a remainder; largest-remainder allocation hands it out one minor unit at a time, so the parts always sum to the whole.
- 33.34
- 33.33
- 33.33
- = 100.00
On a check
One thousand two hundred thirty-four CAD and 56/100 only
The fraction is over 100 because CAD has 2 decimal places. Write any amount in words.
CAD in React
The component reads the exponent from the currency code; you pass the integer and the code, never a float and never a decimal count.
import { Money } from "@/components/ledger/money";
// 1,234.56 CAD, stored as the integer 123456
<Money accounting value={{ amount: 123456, currency: "CAD" }} />Also stored at 2 decimal places
Work with it
Tools that read CAD at its own exponent.