Solved

Convert HH:MM to numbers with decimals

Posted on 2014-12-19
8
109 Views
Last Modified: 2014-12-22
I'm trying to figure out how to convert hh:mm (hours and minutes) to numbers with decimals.  So for example:

01:00 would be 1.0 hours
01:30 would be 1.5 hours
00:45 would be .75 hours

etc., etc., etc.

Is there a formula for this?
0
Comment
Question by:SteveL13
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40509378
place this codes in a regular module

Function Convert2Dec(vTime) As Double
Convert2Dec = Val(vTime) + Split(vTime, ":")(1) / 60
End Function


then call the function
Convert2Dec("01:30")
0
 

Author Comment

by:SteveL13
ID: 40509390
I actually want to use it on a form.  So if Field1 is the original value I want to convert then Field2 needs to be the converted value.  

How do I do that?
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40509409
me.field2=Convert2Dec(me.field1)
0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 

Author Comment

by:SteveL13
ID: 40509495
I'm getting an error:

Subscript out of range.

I have this in a module:

Function Convert2Dec(vTime) As Double

    Convert2Dec = Val(vTime) + Split(vTime, ":")(1) / 60
    
End Function

Open in new window


And I have this in the oncurrent event of the form that the two fields are on:

Private Sub Form_Current()

    Me.txtConvertedHrs = Convert2Dec(Me.txtHrVariance)

End Sub

Open in new window

0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40509539
check the value of Me.txtHrVariance

also,  change the function to this

Function Convert2Dec(vTime) As Variant
    If vTime & "" = "" Then Convert2Dec = Null: Exit Function
    If InStr(vTime, ":") = 0 Then Convert2Dec = Null: Exit Function
    Convert2Dec = CDbl(Val(vTime) + Split(vTime, ":")(1) / 60)
   
End Function
0
 

Author Comment

by:SteveL13
ID: 40509607
No more error.  But no results in the field txtConvertedHrs either.

The value in me.txtHrVariance is 0:30  (and the format is Short Time)

I have this in a module:

Function Convert2Dec(vTime) As Variant
     If vTime & "" = "" Then Convert2Dec = Null: Exit Function
     If InStr(vTime, ":") = 0 Then Convert2Dec = Null: Exit Function
     Convert2Dec = CDbl(Val(vTime) + Split(vTime, ":")(1) / 60)
     
 End Function

Open in new window


And I have this in the oncurrentevent of the form:

Private Sub Form_Current()

    Me.txtConvertedHrs = Convert2Dec(Me.txtHrVariance)

End Sub

Open in new window

0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 500 total points
ID: 40509647
if it is time, just use

cdbl(Me.txtHrVariance) * 24
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40509648
Me.txtConvertedHrs = cdbl(Me.txtHrVariance) * 24
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question