# Numbers

How WerkOS writes counts, money, percentages, changes, durations and dates: one format per kind of value, in the reader's language.

* Kind: data
* Page: https://design.werklist.com/data/numbers
* Version: 2.1.2

## Rules

* Language: numbers follow the language the person chose in WerkOS (English, Croatian or Serbian), never the browser's. Serbian is written in Latin script and digits are always Latin
* Grouping: English groups thousands with a comma, Croatian and Serbian with a full stop, and the decimal mark changes with them
* Count: a whole number, grouped. Negative only in a column that allows a sign
* Money: the digits, a no break space, then the currency code, as in 3,450 EUR. Whole units in tiles, charts and reports, the column's own decimals on a board. In a table the code goes in the header
* Percent: one decimal under 10, whole numbers from 10. A value above zero but under 0.1 prints as under 0.1%. In a table column every figure shares the column's decimals
* Change in a percentage: in points, one decimal, signed unless zero. The header says points
* Change: a plus or a true minus sign, in the unit of the value
* Large values: from 10,000, shortened with k, m or bn on chart axes only, with two decimals under 10, one under 100 and none above (1.25m, 149k). Labels, tiles and tables print the full figure
* Year: never grouped
* Range: the low and the high joined by to, the unit once at the end. A range across zero shows both signs
* Rank: the position and the total joined by of, as in 3 of 53, with its interval in reports. Never an ordinal
* Duration: hours and minutes, as in 2h 30m. A running timer shows 02:30:09
* Date: day, short month and year, as in 28 Jun 2026, with month names in the reader's language. Dense cells drop the current year. Never a date in figures only
* Missing: n/a with its reason (closed, unpublished, out of scope, not collected, pending) in reports and charts. On a board a blank cell means nobody has filled it. Zero prints 0
* Minus: U+2212 in every language, never parentheses, never red
* Tabular digits (font-variant-numeric: tabular-nums) wherever numbers stand above each other. Normal digits in running text
* A rate built on fewer than 5 observations prints its reason, not a number
* A figure the data can change is computed, never typed into copy
* In an accessible name a duration spells its units (2 hours 30 minutes) and a date its full month

## Tokens

* --text
* --text-muted
* --success-ink
* --error-ink
