How numbers work in French
French has separate words for 0 to 16: zéro, un, deux … onze, douze, treize, quatorze, quinze, seize. From 17 the number is built from ten plus the unit: dix-sept, dix-huit, dix-neuf.
Up to 69 the system is regular: vingt, trente, quarante, cinquante, soixante. For 21, 31, 41, 51 and 61 you use et: vingt et un, trente et un. Otherwise a hyphen joins the parts: vingt-deux, quarante-cinq.
From 70 French counts in twenties: 70 is soixante-dix (60 + 10), 71 soixante et onze, 75 soixante-quinze. 80 is quatre-vingts (4 × 20), 81 quatre-vingt-un without et, 90 quatre-vingt-dix (4 × 20 + 10), 99 quatre-vingt-dix-neuf. In Belgium and Switzerland people say septante and nonante instead, and parts of Switzerland use huitante.
Quatre-vingts and hundreds like deux cents take an s only when nothing follows: quatre-vingt-trois, deux cent dix. Mille never changes: deux mille. The 1990 spelling reform allows hyphens between all parts (vingt-et-un); this page uses the traditional spelling.
Ordinals add -ième: deuxième, troisième, dixième. The exception is premier (feminine première). Cinq adds a u (cinquième) and neuf turns its f into v (neuvième).