One task that comes up occasionally in programming, particular in financial or text-to-speech applications, is spelling out a numeric value is words. While the algorithm for doing this in English is relatively simple, it cannot be generalized easily for use with other languages. In fact, the ways in which numbers are spelled out in words vary so much from language to language that the only practical and general approach is a rule-based approach.
This paper describes a simple language for describing number formatting procedures that not only solves the international number-spellout problem, but also can be used for a variety of other number-formatting tasks too complicated to be handled by standard number formatters. Examples include formatting numbers using numeration systems other than Arabic numerals, formatting ordinal numbers, formatting values in major and minor units (e.g., a number of seconds as hours, minutes, and seconds), formatting numbers with fractions (e.g., NYSE stock prices), and formatting numbers with unit designations that change with the number's magnitude (e.g., 1 as "1 m", 1,000 as "1 km", and 0.001 as "1 mm").
|When the world wants to talk, it speaks Unicode|
International Unicode Conferences are organized by Global Meeting Services, Inc., (GMS).
GMS is pleased to be able to offer the International Unicode Conferences under an exclusive
license granted by the Unicode Consortium. All responsibility for conference finances and
operations is borne by GMS. The independent conference board serves solely at the pleasure
of GMS and is composed of volunteers active in Unicode and in international software
development. All inquiries regarding International Unicode Conferences should be addressed
Unicode and the Unicode logo are registered trademarks of Unicode, Inc. Used with permission.
23 January 1999, Webmaster