Example #1
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(WholePart.GetHashCode() * FractionalPart.GetHashCode());
     }
 }
Example #2
0
        //--------------------------------------------------------------------------------------------------------
        //--------------------------------------------------------------------------------------------------------
        internal override decimal GetValueAfterApplyingPrecisionTruncation(int PrecisionValue)
        {
            if (this.NumericType == false)
            {
                throw new NotSupportedException();
            }
            decimal ValueAsDecimal = Convert.ToDecimal(this.ValueAsString);

            if (PrecisionValue > 0)
            {
                string WholePart;
                string TruncationAsString;

                int DecimalPointIndex = ValueAsString.IndexOf('.');
                if (DecimalPointIndex == -1)
                {
                    WholePart = ValueAsString;
                }
                else
                {
                    WholePart = ValueAsString.Substring(0, DecimalPointIndex);
                }
                if (PrecisionValue < WholePart.Length)
                {
                    TruncationAsString = WholePart;
                }
                else
                {
                    StringBuilder TruncationBuilder = new StringBuilder(WholePart.Substring(0, PrecisionValue));
                    for (int AddZeroCounter = 0; AddZeroCounter < (WholePart.Length - PrecisionValue); AddZeroCounter++)
                    {
                        TruncationBuilder.Append('0');
                    }
                    TruncationAsString = TruncationBuilder.ToString();
                }
                ValueAsDecimal = Convert.ToDecimal(TruncationAsString);
            }
            return(ValueAsDecimal);
        }
Example #3
0
 public override int GetHashCode()
 {
     return(CombineHashCodes(WholePart.GetHashCode(), FractionalPart.GetHashCode()));
 }