FIELD NOTES · ACCEPTANCE EXERCISES

Agree the number format before parsing a quote input

A bilingual quote tool can display numbers beautifully and still misread what a visitor types. The string1,234 means different things under different conventions. Commission an explicit input grammar and confirmation, not an automatic replacement that silently changes its value.

Primary evidence and claim boundaries

Intl.NumberFormat provides locale-sensitive formatting. Its documented formatting API is not a general locale-aware input parser; parsing rules remain an application decision. Primary reference · Read 18 October 2026.

Filled acceptance example

Original synthetic teaching scenario, not a client case, provider integration test or business result. The example policy needs the actual owner’s approval; scroll the table on narrow screens.

Input and stateDeclared checkExpected output and decision
Explicit en-AU decimal grammar;1,234.50Grouping comma, decimal point1234.50; confirm the parsed value before use
Explicit de-DE decimal grammar;1.234,50Grouping point, decimal comma1234.50 under that declared grammar
Unknown input locale;1,234More than one plausible conventionAsk for clarification; do not assume1234 or 1.234
en-AU declared;12,34.50Invalid grouping under this grammarReject and retain original input

Practical handover procedure

  1. Specify supported input locales, grouping rules, sign, precision and whether grouping is optional. Keep currency identity separate from numeric punctuation.
  2. Use all four strings as literal fixtures. Require a visible parsed-value confirmation and an explicit invalid or ambiguous result, without discarding the original.
  3. Compare the stored decimal value with the confirmed value in an isolated test. Test paste and mobile input as well as typed digits; do not infer grammar from browser language alone.

Interpret the outcome

Two different strings intentionally map to the same agreed decimal under two explicit grammars. The unknown-locale row must not share that result by guesswork. Formatting a wrong parsed number consistently only hides the defect; the acceptance record needs the original string and its declared interpretation.

Acceptance decision

Accept only the supported grammar and confirmed stored value; ambiguous and malformed inputs must remain unresolved or rejected.

Limits and unverified work

Synthetic quantity/quote inputs, no payment or financial calculation. This does not define a universal parser, every locale or a rounding policy.

Download the filled bilingual acceptance record — Contains the inputs, steps, expectations and limits. This is a teaching record, not an executable production integration.