public static Decimal UnboxDecimal(object value) { if (value is Decimal) return (Decimal)value; if (value is IConvertible) return CheckNumericPromotion(value).ToDecimal(null); return (Decimal) value; }