com.icl.saxon.number

Class Numberer_en

public class Numberer_en extends Object implements Numberer

Class Numberer_en does number formatting for language="en". This supports the xsl:number element. Methods and data are declared as protected, and static is avoided, to allow easy subclassing.

Version: 4 August 2000

Author: Michael H. Kay

Field Summary
protected StringcyrillicLower
protected StringcyrillicUpper
protected String[]englishTens
protected String[]englishUnits
protected StringgreekLower
protected StringgreekUpper
protected Stringhebrew
protected StringhiraganaA
protected StringhiraganaI
protected StringkanjiDigits
protected StringkatakanaA
protected StringkatakanaI
protected StringlatinLower
protected StringlatinUpper
protected StringwesternDigits
Method Summary
protected voidalphaDefault(int number, char formchar, StringBuffer sb)
Default processing with an alphabetic format token: use the contiguous range of Unicode letters starting with that token.
Stringformat(int number, String picture, int groupSize, String groupSeparator, String letterValue)
Format a number into a string
protected StringtoAlpha(int number, int min, int max)
Format the number as an alphabetic label using the alphabet consisting of consecutive Unicode characters from min to max
protected StringtoAlphaSequence(int number, String alphabet)
Convert the number into an alphabetic label using a given alphabet.
protected StringtoRadical(int number, String digits, String picture, int groupSize, String groupSeparator)
Convert the number into a decimal or other representation using the given set of digits.
protected StringtoRoman(int n)
Generate a Roman numeral (in lower case)
StringtoWords(int number)
Show the number as English words

Field Detail

cyrillicLower

protected String cyrillicLower

cyrillicUpper

protected String cyrillicUpper

englishTens

protected String[] englishTens

englishUnits

protected String[] englishUnits

greekLower

protected String greekLower

greekUpper

protected String greekUpper

hebrew

protected String hebrew

hiraganaA

protected String hiraganaA

hiraganaI

protected String hiraganaI

kanjiDigits

protected String kanjiDigits

katakanaA

protected String katakanaA

katakanaI

protected String katakanaI

latinLower

protected String latinLower

latinUpper

protected String latinUpper

westernDigits

protected String westernDigits

Method Detail

alphaDefault

protected void alphaDefault(int number, char formchar, StringBuffer sb)
Default processing with an alphabetic format token: use the contiguous range of Unicode letters starting with that token.

format

public String format(int number, String picture, int groupSize, String groupSeparator, String letterValue)
Format a number into a string

Parameters: number The number to be formatted picture The format specification. This is a single component of the format attribute of xsl:number, e.g. "1", "01", "i", or "a" groupSize number of digits per group (0 implies no grouping) groupSeparator string to appear between groups of digits letterValue as defined in xsl:number ("alphabetic" or "traditional" or "")

Returns: the formatted number

toAlpha

protected String toAlpha(int number, int min, int max)
Format the number as an alphabetic label using the alphabet consisting of consecutive Unicode characters from min to max

toAlphaSequence

protected String toAlphaSequence(int number, String alphabet)
Convert the number into an alphabetic label using a given alphabet. For example, if the alphabet is "xyz" the sequence is x, y, z, xx, xy, xz, ....

toRadical

protected String toRadical(int number, String digits, String picture, int groupSize, String groupSeparator)
Convert the number into a decimal or other representation using the given set of digits. For example, if the digits are "01" the sequence is 1, 10, 11, 100, 101, 110, 111, ...

Parameters: number the number to be formatted digits the set of digits to be used picture the formatting token, e.g. 001 means include leading zeroes to give at least three decimal places groupsize the number of digits in each group groupSeparator the separator to use between groups of digits.

toRoman

protected String toRoman(int n)
Generate a Roman numeral (in lower case)

toWords

public String toWords(int number)
Show the number as English words