Esempio n. 1
0
        public bool IsLargerOrEqual(VeryLong other)
        {
            string firstInteger = GetInteger();
            string otherInteger = other.GetInteger();

            // compare integers (number in front of decimal point)
            if (firstInteger.Length > otherInteger.Length)
            {
                return(true);
            }
            else if (firstInteger.Length < otherInteger.Length)
            {
                return(false);
            }
            else
            {
                int isLargerOrEqual = firstInteger.CompareTo(otherInteger.ToString());
                if (isLargerOrEqual == -1) // other is smaller
                {
                    return(false);
                }
                else if (isLargerOrEqual == 1) // other is larger
                {
                    return(true);
                }
                else // integers are equal --> compare decimal digits
                {
                    string decimalDigits      = GetDecimalDigits();
                    string otherDecimalDigits = other.GetDecimalDigits();
                    isLargerOrEqual = decimalDigits.CompareTo(otherDecimalDigits);
                    if (isLargerOrEqual == -1) // other is smaller
                    {
                        return(false);
                    }
                    else
                    {
                        return(true);
                    }
                }
            }
        }