void SegregateIntoUnitsForInteger()
        {
            if (string.IsNullOrEmpty(IntegerPartofInputNumber) == true)
            {
                IntegerPartofInputNumberText = "Zero";
            }

            string IntegerPartofInputNumberTmp = IntegerPartofInputNumber;
            int    nTotalLength       = IntegerPartofInputNumberTmp.Length;
            int    nCurrentUnitLength = nTotalLength;


            string TempNumberStr = IntegerPartofInputNumber;

            int UnitID = NumberSystem.GetUnitIDByDigitsLength(nTotalLength);

            int startIndex = 0, EndIndex = 0, ActualUnitLength = 0, ActualFullLength;

            ActualFullLength = nTotalLength;
            for (; UnitID > 0; UnitID--)
            {
                UnitMetaInfo CurrUnitMetaInfo = null;

                if (NumberSystem.GetUnitMetaInfo(UnitID, out CurrUnitMetaInfo) == false)
                {
                    throw new InvalidProgramException("");
                }

                if (startIndex == 0)
                {
                    ActualUnitLength = IntegerPartofInputNumberTmp.Length - CurrUnitMetaInfo.GetDigitsMaxLength() + CurrUnitMetaInfo.GetUnitMaxLength();
                }
                else
                {
                    ActualUnitLength = CurrUnitMetaInfo.GetUnitMaxLength();
                }

                EndIndex      = startIndex + ActualUnitLength;
                TempNumberStr = IntegerPartofInputNumberTmp.Substring(startIndex, ActualUnitLength);

                // Convert string to Integer datatype
                int TempNumber = 0;
                if (Int32.TryParse(TempNumberStr, out TempNumber) == false)
                {
                    continue;
                }

                // Check not exceed 999
                if (TempNumber != 0)
                {
                    bool IsConjuctionRequired = UnitID == 1 ? true : false;
                    IntegerPartofInputNumberText = IntegerPartofInputNumberText + NumberSystem.ToText(TempNumber, CurrUnitMetaInfo.GetUnitName(), IsConjuctionRequired);
                }
                startIndex = EndIndex;
            }
        }
        void SegregateIntoUnitsForDecimal()
        {
            string UnitName = NumberSystem.GetCoinName();

            if (DecimalNumber > 1)
            {
                UnitName = UnitName + "S";
            }
            DecimalPartofInputNumberText = NumberSystem.ToText(DecimalNumber, UnitName, false);
        }