-
- //------------------------------------------------------------
- // Rule Based Number Format Support
- //------------------------------------------------------------
-
-// * Spellout rules for U.K. English. U.K. English has one significant
-// * difference from U.S. English: the names for values of 1,000,000,000
-// * and higher. In American English, each successive "-illion" is 1,000
-// * times greater than the preceding one: 1,000,000,000 is "one billion"
-// * and 1,000,000,000,000 is "one trillion." In British English, each
-// * successive "-illion" is one million times greater than the one before:
-// * "one billion" is 1,000,000,000,000 (or what Americans would call a
-// * "trillion"), and "one trillion" is 1,000,000,000,000,000,000.
-// * 1,000,000,000 in British English is "one thousand million." (This
-// * value is sometimes called a "milliard," but this word seems to have
-// * fallen into disuse.)
-
- // Could someone please correct me if I'm wrong about "milliard" falling
- // into disuse, or have missed any other details of how large numbers
- // are rendered. Also, could someone please provide me with information
- // on which other English-speaking countries use which system? Right now,
- // I'm assuming that the U.S. system is used in Canada and that all the
- // other English-speaking countries follow the British system. Can
- // someone out there confirm this?
-
- SpelloutRules {
- "%simplified:\n"
- " -x: minus >>;\n"
- " x.x: << point >>;\n"
- " zero; one; two; three; four; five; six; seven; eight; nine;\n"
- " ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
- " seventeen; eighteen; nineteen;\n"
- " 20: twenty[->>];\n"
- " 30: thirty[->>];\n"
- " 40: forty[->>];\n"
- " 50: fifty[->>];\n"
- " 60: sixty[->>];\n"
- " 70: seventy[->>];\n"
- " 80: eighty[->>];\n"
- " 90: ninety[->>];\n"
- " 100: << hundred[ >>];\n"
- " 1000: << thousand[ >>];\n"
- " 1,000,000: << million[ >>];\n"
- " 1,000,000,000,000: << billion[ >>];\n"
- " 1,000,000,000,000,000: =#,##0=;\n"
- "%default:\n"
- " -x: minus >>;\n"
- " x.x: << point >>;\n"
- " =%simplified=;\n"
- " 100: << hundred[ >%%and>];\n"
- " 1000: << thousand[ >%%and>];\n"
- " 100,000>>: << thousand[>%%commas>];\n"
- " 1,000,000: << million[>%%commas>];\n"
- " 1,000,000,000,000: << billion[>%%commas>];\n"
- " 1,000,000,000,000,000: =#,##0=;\n"
- "%%and:\n"
- " and =%default=;\n"
- " 100: =%default=;\n"
- "%%commas:\n"
- " ' and =%default=;\n"
- " 100: , =%default=;\n"
- " 1000: , <%default< thousand, >%default>;\n"
- " 1,000,000: , =%default=;"
- "%%lenient-parse:\n"
- " & ' ' , ',' ;\n"