System.Xml.Xsl.Runtime.NumberFormatterBase.ConvertToAlphabetic C# (CSharp) Method

ConvertToAlphabetic() public static method

public static ConvertToAlphabetic ( StringBuilder sb, double val, char firstChar, int totalChars ) : void
sb System.Text.StringBuilder
val double
firstChar char
totalChars int
return void
        public static void ConvertToAlphabetic(StringBuilder sb, double val, char firstChar, int totalChars) {
            Debug.Assert(1 <= val && val <= MaxAlphabeticValue);
            Debug.Assert(Math.Pow(totalChars, MaxAlphabeticLength) >= MaxAlphabeticValue);

            char[] letters = new char[MaxAlphabeticLength];
            int idx = MaxAlphabeticLength;
            int number = (int)val;

            while (number > totalChars) {
                int quot = --number / totalChars;
                letters[--idx] = (char)(firstChar + (number - quot * totalChars));
                number = quot;
            }
            letters[--idx] = (char)(firstChar + --number);
            sb.Append(letters, idx, MaxAlphabeticLength - idx);
        }