2 Replies Latest reply: Jul 1, 2014 4:46 AM by BKBK RSS

    How to convert minutes to decimal

    weezerboy Community Member

      I need to convert my minutes in my HH:MM record to decimal.

       

      For example if I have 43 hours and 15 minutes (43:15) I need to return the result 43.25 hours

       

      and if i have 10 hours and 30 minutes I need to return 10.50 hours.

       

      How do I do this?

        • 1. Re: How to convert minutes to decimal
          Carl Von Stetten MeganK

          How do I do this?

          The simple answer: with math.

           

          Longer answer: parse it using list functions and then do some math.  Like this:

           

          <cfset MyTime = "43:15">
          <cfset hours = ListFirst(MyTime, ":") > <!--- get the hours part --->
          <cfset minutes = ListLast(MyTime, ":") > <!--- get the minutes part --->
          <cfset decimalMinutes = minutes / 60 > <!--- Calculate minutes as decimal of an hour --->
          <cfset MyDecimalTime = hours + decimalMinutes > <!--- Put it all back together as decimal hours --->
          

           

          Or, in more terse form:

           

          <cfset MyTime = "43:15">
          <cfset MyDecimalTime = ListFirst(MyTime, ":") + (ListLast(MyTime, ":") / 60) >
          

           

          HTH,

          -Carl V.

          • 2. Re: How to convert minutes to decimal
            BKBK Community Member

            If you need to round off to 2 decimals and to pad with 0s, that is, 10.50 instead of 10.5, then adapt Carl's solution to

             

            <cfset MyDecimalTime = numberFormat(ListFirst(MyTime, ":") + (ListLast(MyTime, ":") / 60), "00.00")>