Display, store, and reason about money across currencies without rounding errors or implied conversions. Use when showing prices in more than one currency or storing monetary amounts.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Amey-Thakur/AI-SKILLS --skill currency-localization --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Currency Localization?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/amey-thakur-currency-localization)More formats (shields.io, HTML) on the badges page.
---
name: currency-localization
description: Display, store, and reason about money across currencies without rounding errors or implied conversions. Use when showing prices in more than one currency or storing monetary amounts.
---
# Currency localization
Money is not a number with a symbol in front. Currencies differ in
decimal places, symbol placement, and rounding conventions, and a
converted price is a different fact from the price you charged, so both
must be stored.
## Method
1. **Store the amount with its currency, always together.** A bare
number is meaningless the moment a second currency exists, and
retrofitting the currency later is guesswork.
2. **Never store money in floating point.** Use integer minor units or a
decimal type. Floating point rounding on money produces discrepancies
that accounting will find (see sql-date-time for a parallel
precision trap).
3. **Respect each currency's minor unit.** Some have none and some have
three, so assuming two decimals is wrong in both directions.
4. **Format with the locale, not with a symbol lookup.** Placement,
spacing, and grouping come from locale data, and the same currency is
written differently in different locales (see locale-formatting).
5. **Record the rate and time for any conversion.** A converted display
price is derived and must be reproducible, so the rate used and when
it was taken belong in the record.
6. **Decide rounding policy explicitly and apply it once.** Where
rounding happens changes totals, and tax rules often dictate the
answer rather than leaving it to preference.
## Boundaries
- Displaying a converted price is not a quote; the price actually
charged depends on the payment provider's rate at capture.
- Tax, invoicing, and revenue recognition are regulated and belong to
finance rather than to formatting.
- Currency data changes as currencies are introduced and redenominated,
so it comes from a maintained source.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!