FIELD NOTES · ACCEPTANCE EXERCISES

A dollar sign is not enough to identify a website price

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 / caseCheck basisExpected decision
AUD18 vs USD18same digits, different codenot same amount
AUD, code displaycurrency partAUD
JPY default formatfraction digits0 in this runtime

Run the acceptance exercise

  1. Require explicit currency and amount fields from the approved quote or catalogue source.
  2. Test the display using code rather than an ambiguous symbol in a cross-market view.
  3. 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