Principales respuestas
Aproximar minutos

Pregunta
-
tengo un programa que calcula cuantos minutos hay entre una hora inicial y una hora final, deseo aproximar los minutos, como lo hago?
por ejemplo: si mi resultado son 9 minutos aproximar a 15 si mi resultado es 31 minutos aproximar a 45, etc...
lunes, 4 de octubre de 2010 23:03
Respuestas
-
hola
podrias usar el IF, o sino tambien un SELECT CASE
Dim resultado As Integer
Select Case minutos
Case Is < 15
resultado = 15
Case Is < 30
resultado = 30
Case Is < 45
resultado = 45
Case Else
resultado = 60
End Select
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Rafael FagundesModerator viernes, 22 de octubre de 2010 12:34
martes, 5 de octubre de 2010 0:01
Todas las respuestas
-
hola
podrias usar el IF, o sino tambien un SELECT CASE
Dim resultado As Integer
Select Case minutos
Case Is < 15
resultado = 15
Case Is < 30
resultado = 30
Case Is < 45
resultado = 45
Case Else
resultado = 60
End Select
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Rafael FagundesModerator viernes, 22 de octubre de 2010 12:34
martes, 5 de octubre de 2010 0:01 -
recomiendo mejor el select por que asi evitas procedimientos por lineas, debo imaginar que deseas calcular inervalos de minutos con horas, el de hora ya lo as de tener solo te falta acomodar los redondeos de minutos a los itervalos 01 a 15, 16 a 30, 31 a 45, 46 a una hora. tipo contador de tiempo de uso.
suponiendo que ya tienes el de horas, lo guardas a una variable en este ejemplo lo llamaremos: horas_transcurridas.
Dim minutos_sobrantes as Integer ' si tu resultado te da solo lo minutos lo pasamos a una variable a verficar
Dim hora_completa as Integer ' nos servira para en caso de ser arriba de 45 este se ejecute y se sume a tus horas transcurridas, por defecto valdra CERO siempre q lo pondremos al inicio del procedimiento
Private Sub Calculo_de_Tiempo ()
minutos_sobrantes= resultado
hora_completa=0
Select Case minutos_sobrantes
Case Is < 16
resultado= 16 'asignamos el nuevo valor a resultado
Case Is < 31
resultado =30
Case Is < 46
resultado= 45
Case Is <=60
hora_completa=1
End Select
horas_transcurridas = horas_transcurridas + hora_completa 'tener en cuenta q horas:_transcurridas tomara siempre un nuevo valor en tu calculo donde obtienes horas y minutos.
msgbox ("tiempo transcurrido: " & horas_transcurridas & " horas con " & resultado & " minutos") ' esto es para verificar q todo a salido bien.
End Sub
Saludos,
Recuerda que si las respuestas te ayudan a resolver tus problemas no olvides marcarla como respuesta, ya que otros usuarios pueden tener el mismo problema.
J. Miguelmartes, 5 de octubre de 2010 5:04 -
Hola:
Prueba esta función a ver si te sirve:
Function Redondear(Numero AS Integer, CadaCuantos AS Integer, Optional NumeroInicial AS Integer = 0) AS Integer
Return ((Numero + NumeroInicial - 1) \ CadaCuantos + 1) * CadaCuantos
End Function
Y para que te de el resultado:
Msgbox Redondear(9, 15)
Msgbox Redondear(31, 15)
Saludos
- Propuesto como respuesta Focus Media jueves, 14 de octubre de 2010 9:20
martes, 5 de octubre de 2010 10:06