> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Numbers, currency, and measurements

> How Rime automatically expands numbers, currency, ranges, measurements, phone numbers, and Roman numerals into spoken form.

Rime expands numbers, currency, ranges, and measurements into their spoken form automatically. Most formats work without any preprocessing. Just write naturally.

<Note>
  For a tour of text normalization across all categories, see [Text normalization](/docs/text-normalization). For specific patterns Rime doesn't expand cleanly, see [Pre-normalizing text](/docs/pre-normalization).
</Note>

## Numbers

| Format                | Example                               | Reads as                                                                                                                                                                                        |
| :-------------------- | :------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cardinals             | `123`                                 | one hundred twenty-three                                                                                                                                                                        |
| Cardinals with commas | `2,022`                               | two thousand twenty-two                                                                                                                                                                         |
| Large cardinals       | `10,000`, `1.5 million`, `3M`, `450K` | ten thousand; one point five million; three million; four hundred fifty thousand. A bare 5+ digit run (`10000`) reads digit-by-digit; write the thousands separator to get the quantity reading |
| Scientific notation   | `1e6`, `2.3e9`                        | one times ten to the six; two point three times ten to the nine                                                                                                                                 |
| Approximators         | `~300`, `>1000`, `<0.1`, `±5`, `100+` | approximately three hundred; greater than one thousand; less than zero point one; plus or minus five; one hundred plus                                                                          |
| Negatives             | `-23`                                 | minus twenty-three                                                                                                                                                                              |
| Decimals              | `0.75`, `.001`                        | zero point seven five; zero point zero zero one                                                                                                                                                 |
| Ordinals              | `1st`, `2nd`, `21st`, `100th`         | first; second; twenty-first; one hundredth                                                                                                                                                      |
| Fractions             | `1/2`, `3/4`, `5 1/2`, `2 2/5`        | one half; three quarters; five and a half; two and two fifths                                                                                                                                   |
| Years                 | `2022`, `1998`                        | twenty twenty-two; nineteen ninety-eight                                                                                                                                                        |

<Tip>
  Insert spaces between digits to force digit-by-digit reading: `4 0` reads as "four zero" (not "forty"). For longer alphanumeric IDs and codes, use [`spell()`](/docs/spell) instead.
</Tip>

## Currency

| Format             | Example               | Reads as                                            |
| :----------------- | :-------------------- | :-------------------------------------------------- |
| Symbol + amount    | `$5.99`               | five dollars ninety-nine cents                      |
| Comma-separated    | `$1,000`              | one thousand dollars                                |
| With decimals      | `$1,045.96`           | one thousand forty-five dollars ninety-six cents    |
| Pounds, euros, yen | `£728,641`, `€70-€72` | expands with currency word                          |
| Scale shorthand    | `$5M`, `$1.2B`        | five million dollars; one point two billion dollars |

Dozens of currency symbols and ISO codes are supported, including `$`, `€`, `£`, `¥`, `₹`, `₺`, `₪`, `₩`, `CHF`, `HK$`, `AUD$`, `US$`, and three-letter codes such as `USD`, `EUR`, `GBP`, `JPY`. Scale abbreviations `K`, `M`, `B`, `bn` are recognized.

## Ranges

Ranges with hyphens or en-dashes between numeric values read as "X to Y," with shared units on the right: `13-50`, `35-58 mph`, `49-56 °C`, `78-84%`, `67-77 mg`.

## Measurements

| Category                | Examples                                                       |
| :---------------------- | :------------------------------------------------------------- |
| Length / mass / volume  | `12km`, `5 mi`, `330 ft`, `15cm`, `5kg`, `7lb`, `12 oz`, `3mg` |
| Temperature             | `0°C`, `98°F`, `15°`                                           |
| Speed / power / percent | `60mph`, `120kW`, `95%`                                        |

<Tip>
  A space between number and unit (`330 ft`) is slightly more reliable than the tight form (`330ft`). Use the space when you can.
</Tip>

## Phone numbers

US and international formats both work natively, with parentheses, hyphens, or spaces as separators.

| Format                    | Example                 | Reads as                                                       |
| :------------------------ | :---------------------- | :------------------------------------------------------------- |
| US with parens            | `(213) 555-9274`        | two one three, five five five, nine two seven four             |
| US with hyphens           | `213-555-9274`          | two one three, five five five, nine two seven four             |
| Spaced digits             | `5 5 5, 7 7 2, 9 1 4 0` | five five five, seven seven two, nine one four zero            |
| International             | `+1 212-555-4807`       | plus one, two one two, five five five, four eight zero seven   |
| International with parens | `(+1) 415-203-7704`     | plus one, four one five, two zero three, seven seven zero four |

## Roman numerals

English does not expand Roman numerals; they pass through as written, with or without a context word (the sole exception is the whitelist entry `World War II`, read as "World War two"). Use `spell()` or write the number out.

## Known gaps

A few specific patterns aren't reliably expanded; most commonly bare 5+ digit runs without separators (`10000000`), a bare `m` with no denominator (`1m` reads as "one million"), ampere and joule units (`5A`, `J`), and Roman numerals. For the full list and a drop-in prompt template to handle them, see [Pre-normalizing text](/docs/pre-normalization).

## Related

* [Symbols and percentages](/docs/symbols) for standalone `$`, `%`, `&`, `#`
* [Dates and times](/docs/dates) for years and clock times
* [Addresses, URLs, and emails](/docs/addresses) for ZIP codes
* [Spell function](/docs/spell) for forced letter-by-letter reading of IDs, account numbers, and codes
