private int GetNumberOf(DecimalPosition decimalPlace, int number)
        {
            // Check if the number has enough decimal places.
            // if not, there are zero of this decimal place.
            int numberDecimalPlaces = number.ToString().Length;

            if ((int)decimalPlace > numberDecimalPlaces)
            {
                return(0);
            }

            var numberString          = number.ToString();
            var charactorPosition     = numberString.Length - (int)decimalPlace;
            var decimalPlaceCharactor = numberString[charactorPosition];
            int counter = int.Parse(decimalPlaceCharactor.ToString());

            return(counter);
        }
        public NumberToTextSpellingHelper(DecimalPosition decimalPositionGrouping, ITransformText textTransformation)
        {
            switch (decimalPositionGrouping)
            {
            case DecimalPosition.Ones:
                DecimalGrouping = "";
                break;

            case DecimalPosition.Thousands:
                DecimalGrouping = "thousand";
                break;

            case DecimalPosition.Millions:
                DecimalGrouping = "million";
                break;

            case DecimalPosition.Billions:
                DecimalGrouping = "billion";
                break;

            case DecimalPosition.Trillions:
                DecimalGrouping = "trillion";
                break;

            case DecimalPosition.Quadrillions:
                DecimalGrouping = "quadrillion";
                break;

            case DecimalPosition.Septillions:
                DecimalGrouping = "septillion";
                break;

            default:
                throw new ArgumentException(decimalPositionGrouping + " is not supported");
            }

            _textTransformation = new TitleTextTransformation();
        }