CFP Franc (XPF): 0 decimal places
XPF 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 | 1235 | 1,235 | 1,235 CFP Franc |
| Negative | -1235 | (1,235) | negative 1,235 CFP Franc |
| Zero | 0 | 0 | 0 CFP Franc |
| Unknown (null) | null | — | not available |
Typing XPF
What a person types, and the integer it is stored as at XPF's exponent. Rounded once, at the end.
| Typed | Stored as |
|---|---|
| 1,234.56 | 1235 |
| (1,234.56) | -1235 |
| 1.2k | 1200 |
| =1200+340*2 | 1880 |
XPF has no fraction, so 1,234.56 is rounded to the nearest whole XPF when it is read.
Split without losing a minor unit
100 XPF 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.
- 34
- 33
- 33
- = 100
On a check
One thousand two hundred thirty-five XPF only
The fraction is over 1 because XPF has 0 decimal places. Write any amount in words.
XPF 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,235 XPF, stored as the integer 1235
<Money accounting value={{ amount: 1235, currency: "XPF" }} />Also stored at 0 decimal places
Work with it
Tools that read XPF at its own exponent.