# Currency Amount (EU Suffix)

Key: `finance.currency.amount_comma_suffix`

European format with currency symbol as suffix. Period for thousands, comma for decimal, symbol after amount with optional space. CLDR default for Germany, France, Spain, Italy, Netherlands.

Page: <https://meridian.online/docs/finetype/types/finance/currency/amount_comma_suffix>

Samples: `1.234,56 €`, `999,99 €`, `-1.234,56 €`, `0,50 €`, `10.000,00 €`

## Use it

Shell

```shell
finetype infer -i '1.234,56 €' --mode column
# → finance.currency.amount_comma_suffix
```

DuckDB

```sql
SELECT ft_infer('1.234,56 €');
-- → 'finance.currency.amount_comma_suffix'
```

Cast template: {col} is your column

```sql
CAST(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE({col}, '[€$£¥₹₩₿\p{Sc}]', '', 'g'), '\s+', '', 'g'), '\.', '', 'g'), ',', '.') AS DECIMAL(18,2))
```

## Background

### Origin

FineType defines amount\_comma\_suffix itself, as a European currency format with the currency symbol after the amount, a period for thousands and a comma for the decimal.[[1]](https://github.com/meridian-online/finetype/blob/main/labels/definitions_finance.yaml) FineType keeps amount\_comma\_suffix distinct from its amount\_comma type, which also allows the symbol before the amount.[[1]](https://github.com/meridian-online/finetype/blob/main/labels/definitions_finance.yaml)

CLDR's German locale data gives a comma as the decimal symbol and a full stop as the grouping symbol.[[2]](https://github.com/unicode-org/cldr-json/blob/main/cldr-json/cldr-numbers-full/main/de/numbers.json) In LDML number patterns, the thousands separator and decimal separator are always written as ASCII ',' and '.', and are substituted with the locale's own values.[[3]](https://www.unicode.org/reports/tr35/tr35-numbers.html) In LDML number patterns, the ¤ character is replaced by the localised currency symbol for the currency being formatted.[[3]](https://www.unicode.org/reports/tr35/tr35-numbers.html)

Depending on the convention in each nation, the euro sign can either precede or follow the value.[[4]](https://en.wikipedia.org/wiki/Euro_sign) Countries have generally continued the style they used for their former currencies when placing the euro sign.[[4]](https://en.wikipedia.org/wiki/Euro_sign) In English the euro sign is usually placed before the figure, unspaced, which is the reverse of usage in many other European languages.[[4]](https://en.wikipedia.org/wiki/Euro_sign)

### Use

Python's Babel library documents format\_currency(1099.98, 'EUR', locale='de\_DE') as returning 1.099,98 followed by \\xa0 and the euro sign.[[5]](https://babel.pocoo.org/en/latest/api/numbers.html) Babel's parse\_decimal reads '1.099,98' as Decimal('1099.98') under the de locale.[[5]](https://babel.pocoo.org/en/latest/api/numbers.html)

Wikipedia's table of digit-grouping conventions lists the form 1.234.567,89 for countries including Austria, Germany, Italy and the Netherlands.[[6]](https://en.wikipedia.org/wiki/Decimal_separator) Treat a full stop as a thousands separator only once you are sure the whole column follows this convention; a value such as 1.234 on its own does not say which reading is meant. (Meridian's view) Split the symbol into its own column before casting, since a column in this shape can mix currencies and the symbol is the only thing that says which one each row is in. (Meridian's view)

## Sources

1. [finetype/labels/definitions\_finance.yaml at main · meridian-online/finetype · GitHub](https://github.com/meridian-online/finetype/blob/main/labels/definitions_finance.yaml) — FineType
2. [cldr-json/cldr-json/cldr-numbers-full/main/de/numbers.json at main · unicode-org/cldr-json · GitHub](https://github.com/unicode-org/cldr-json/blob/main/cldr-json/cldr-numbers-full/main/de/numbers.json) — standard
3. [Unicode Locale Data Markup Language (LDML) Part 3: Numbers](https://www.unicode.org/reports/tr35/tr35-numbers.html) — standard
4. [Euro sign](https://en.wikipedia.org/wiki/Euro_sign) — secondary source
5. [Numbers and Currencies](https://babel.pocoo.org/en/latest/api/numbers.html) — documentation
6. [Decimal separator](https://en.wikipedia.org/wiki/Decimal_separator) — secondary source

## How it's detected

CLDR default for most eurozone countries. Distinct from amount\_comma which allows prefix symbols.
