# text.integer-to-words
Spells out a whole number in British English: 1234 is "one thousand two
hundred and thirty-four". It is the integer half of cheque wording; the money
form, with pounds and pence, is `text.number-to-words`, which builds on this.
## The rules
- Numbers from 21 to 99 are hyphenated: "forty-two".
- "and" joins a hundred to what follows it inside each group of three:
"one hundred and one", "nine hundred and ninety-nine".
- "and" also goes before the final group when that group is under a hundred
and something larger precedes it: "one thousand and one", "one million and
fifty". A final group of a hundred or more does not get one ("one thousand
one hundred"), and nor do the middle groups ("two million five thousand").
That is the usual British cheque convention; American English leaves every
"and" out, and this capability does not offer that form.
- No commas are written between the groups.
- Scales are the short scale used in the UK since 1974: thousand, million,
billion (10^9), trillion (10^12), quadrillion (10^15).
- Zero is "zero"; negative numbers get "minus" in front.
- Everything is lower case. Capitalise the first letter yourself if the
sentence needs it.
## Limits
The magnitude is capped at 9007199254740991 (2^53 - 1), the largest integer a
JavaScript number holds exactly. Above it the three languages would disagree
about what number was passed, so it is an error rather than a guess. A
fractional number is an error too: this is for whole numbers, and money goes
through `text.number-to-words` in integer minor units.