public override int GetHashCode() { unchecked { return(WholePart.GetHashCode() * FractionalPart.GetHashCode()); } }
//-------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------- 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); }
public override int GetHashCode() { return(CombineHashCodes(WholePart.GetHashCode(), FractionalPart.GetHashCode())); }