public static decimal?ToDecimalFraction <T>(this T?percentage, PercentageRange range) where T : struct { if (!percentage.HasValue) { return(null); } return(ToDecimalFraction(percentage.Value, range)); }
public static double ToFraction <T>(this T percentage, PercentageRange range = PercentageRange.RangeZeroToHunderd) where T : struct { try { double p = (double)Convert.ChangeType(percentage, typeof(double)); if (range == PercentageRange.RangeZeroToHunderd) { return(p / 100d); } return(p); } catch (Exception ex) { throw new InvalidCastException(null, ex); } }