/// <summary> /// Compares this object to another <see cref="SmartDecimal"/> /// for equality. /// </summary> public override bool Equals(object obj) { if (obj is SmartDecimal) { SmartDecimal tmp = (SmartDecimal)obj; if (this.IsEmpty && tmp.IsEmpty) { return(true); } else { return(this.Decimal.Equals(tmp.Decimal)); } } else if (obj is decimal) { return(this.Decimal.Equals((decimal)obj)); } else if (obj is string) { return(this.CompareTo(obj.ToString()) == 0); } else { return(false); } }
/// <summary> /// Compares one SmartDecimal to another. /// </summary> /// <remarks> /// This method works the same as the <see cref="int.CompareTo"/> method /// on the Decimal inttype, with the exception that it /// understands the concept of empty int values. /// </remarks> /// <param name="value">The int to which we are being compared.</param> /// <returns>A value indicating if the comparison int is less than, equal to or greater than this int.</returns> public int CompareTo(SmartDecimal value) { if (this.IsEmpty && value.IsEmpty) { return(0); } else { return(_decimal.CompareTo(value.Decimal)); } }
/// <summary> /// Compares one SmartDecimal to another. /// </summary> /// <remarks> /// This method works the same as the <see cref="int.CompareTo"/> method /// on the Decimal inttype, with the exception that it /// understands the concept of empty int values. /// </remarks> /// <param name="value">The int to which we are being compared.</param> /// <returns>A value indicating if the comparison int is less than, equal to or greater than this int.</returns> public int CompareTo(SmartDecimal value) { if (this.IsEmpty && value.IsEmpty) return 0; else return _decimal.CompareTo(value.Decimal); }