MoreFunction.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.Linq;
  3. namespace FormulaEnginePoC.FormulaEngine
  4. {
  5. public static class MoreFunction
  6. {
  7. public static double Dummy(double param1) => param1;
  8. public static double Sum(params double[] args) => args.Sum();
  9. public static double Avg(params double[] args) => args.Average();
  10. public static double Max(params double[] args) => args.Max();
  11. public static double Min(params double[] args) => args.Min();
  12. public static double Mod(double x, double y) => x % y;
  13. public static string ToString(object value) => null == value ? "" : value.ToString();
  14. public static double ToDouble(string value) => (double)Convert.ChangeType(value, typeof(double));
  15. public static double ToDouble(int value) => (double)Convert.ChangeType(value, typeof(double));
  16. public static double ToDouble(float value) => (double)Convert.ChangeType(value, typeof(double));
  17. public static double ToDouble(decimal value) => (double)Convert.ChangeType(value, typeof(double));
  18. public static double ToDouble(double value) => (double)Convert.ChangeType(value, typeof(double));
  19. public static decimal ToDecimal(string value) => (decimal)Convert.ChangeType(value, typeof(decimal));
  20. public static decimal ToDecimal(int value) => (decimal)Convert.ChangeType(value, typeof(decimal));
  21. public static decimal ToDecimal(float value) => (decimal)Convert.ChangeType(value, typeof(decimal));
  22. public static decimal ToDecimal(double value) => (decimal)Convert.ChangeType(value, typeof(decimal));
  23. public static decimal ToDecimal(decimal value) => (decimal)Convert.ChangeType(value, typeof(decimal));
  24. }
  25. }