Two quotes can both say $18 and still refer to different currencies. Agree a currency code and display locale for each market, while keeping the amount and currency as separate data fields. Formatting a value is not converting it, checking a tax treatment or approving a live sales price.
Who should use this acceptance brief
Exporters and businesses presenting cross-market quotes. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.
Source-bound platform fact
Intl.NumberFormat can format a specified currency and expose number parts. Default fraction digits depend on the currency; a display string should not become the authoritative numeric record. MDN: Intl.NumberFormat · Checked 16 October 2026.
Filled teaching example
Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.
On narrow screens, scroll to read the complete table.
| Input / case | Check basis | Expected decision |
|---|---|---|
| AUD18 vs USD18 | same digits, different code | not same amount |
| AUD, code display | currency part | AUD |
| JPY default format | fraction digits | 0 in this runtime |
Run the acceptance exercise
- Require explicit currency and amount fields from the approved quote or catalogue source.
- Test the display using code rather than an ambiguous symbol in a cross-market view.
- Compare display parts with the source and test minor-unit assumptions before checkout integration.
Interpret the result and retain evidence
The fixture inspects formatting options and compares currency codes; it performs no exchange. When an integration expects cents, confirm that convention for that particular currency instead of multiplying every amount by100. Save the display locale and runtime so a changed separator is not misdiagnosed as a changed price.
Limits before implementation
Synthetic amounts only. No financial or tax advice, live exchange rate or guarantee that every gateway uses the same minor-unit rules.
Replay the finite example
Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions
node decision-check.mjs currency-code-display-acceptance.json