text: Q:
  
  Parse time string to decimal?
  
  In .Net, is there a way to convert, say, '2:45' to the decimal 2.75?
  ex:
  decimal d = TimeToDecimal("2:45");
  Console.WriteLine(d);
  
  //output is 2.75
  
  It should throw an exception if invalid data, ex, minutes < 0 < 60 or not in the h:m format.
  Thanks
  
  A:
  
  The following will output 2.75:
  TimeSpan time = TimeSpan.Parse("2:45");
  decimal d = (decimal) time.TotalHours;
  
  Console.WriteLine(d);
  
  Note that the TimeSpan.TotalHours property is of type double, not decimal.
  From the documentation for the TimeSpan.Parse method, it will throw an OverflowException if "At least one of the days, hours, minutes, or seconds components is outside its valid range", so that should take care of input validation for you.  See also the TimeSpan.TryParse method.
  
  A:
  
  private decimal TimeToDecimal(string Time)
  {
      DateTime dt = DateTime.Parse(Time);
      decimal result = dt.Hour+ (dt.Minute / 60.0m);
      return result;
  }
  
  