Пример #1
0
        public static string FormatStatistics(DescriptiveStatistics value)
        {
            string s =
                $"{value.Count}," +
                $"{value.Mean.ToString(CultureInfo.InvariantCulture)}," +
                $"{value.Minimum.ToString(CultureInfo.InvariantCulture)}," +
                $"{value.Maximum.ToString(CultureInfo.InvariantCulture)},";

            if (value.From.HasValue)
            {
                s += $"{value.From.Value.ToUniversalTime():o}";
            }
            s += ",";
            if (value.To.HasValue)
            {
                s += $"{value.To.Value.ToUniversalTime():o}";
            }
            s += ",";
            if (value.StdDev.HasValue)
            {
                s += value.StdDev.Value.ToString(CultureInfo.InvariantCulture);
            }
            s += ",";
            if (value.Median.HasValue)
            {
                s += value.Median.Value.ToString(CultureInfo.InvariantCulture);
            }
            return(s);
        }
Пример #2
0
 public static DescriptiveStatistics ParseStatisticsValue(string value)
 {
     string[] values = value.Split(',');
     if (values != null && values.Length == 8)
     {
         DescriptiveStatistics stats = new DescriptiveStatistics();
         stats.Count   = int.Parse(values[0]);
         stats.Mean    = double.Parse(values[1], CultureInfo.InvariantCulture);
         stats.Minimum = double.Parse(values[2], CultureInfo.InvariantCulture);
         stats.Maximum = double.Parse(values[3], CultureInfo.InvariantCulture);
         if (values[4] != null && values[4].Length > 0)
         {
             stats.From = DateTime.Parse(values[4], CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
         }
         if (values[5] != null && values[5].Length > 0)
         {
             stats.To = DateTime.Parse(values[5], CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
         }
         if (values[6] != null && values[6].Length > 0)
         {
             stats.StdDev = double.Parse(values[6], CultureInfo.InvariantCulture);
         }
         if (values[7] != null && values[7].Length > 0)
         {
             stats.Median = double.Parse(values[7], CultureInfo.InvariantCulture);
         }
         return(stats);
     }
     else
     {
         throw new ArgumentException("Invalid statistics value: " + value);
     }
 }