Post by JuanD246,50 --> 246:30
254,90 --> 254:54
276,77 --> 276:46
Hola, Juan:
Si los números decimales representan horas, como parece que así es por los
ejemplos que has puesto, una vez quitada la parte entera, multiplicas la
fracción de hora por 60 para obtener los minutos. Para ello bien te puede
servir la siguiente función:
Private Function GetHour(ByVal number As Decimal) As String
Try
' Devolvemos la hora correspondiente
'
Return String.Format("{0}:{1:00}", _
Decimal.Truncate(number), _
(number - Decimal.Truncate(number)) * 60)
Catch ex As Exception
' Devolvemos el siguiente valor
'
Return "00:00"
End Try
End Function
Ahora, obtendrías la hora formateada de la siguiente manera:
TextBox1.Text = GetHour(246.5D)
TextBox2.Text = GetHour(254.9D)
TextBox3.Text = GetHour(276.77D)
Y el resultado es el que tú deseas. :-)
Un saludo
--
Enrique Martínez
[MS MVP - VB]
Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.