2014-09-12 3 views
1

Я хочу получить часы и минуты от десятичного значения.Преобразование десятичных чисел в час и минуту

Пример: Десятичное значение 12,50. Таким образом, значение будет составлять 12 часов и 30 минут.

Как я могу получить это с помощью кратчайшего пути?

+0

вы пробовали что-нибудь? check 'Console.WriteLine (String.Format (« {0} hours и {1} minutes », CInt (12.5), (12.5 Mod 1) * 60))' – bansi

+0

Я получил его по-вашему. Благодарю. – zanhtet

+0

Предупреждение: '12.51' предоставит вам' 12 часов 30.6 минут' '' CInt() 'или' Round() ', если вы не хотите десятичных минут. – bansi

ответ

0

Try:

Dim val as Decimal = 12.50 

hours = Convert.ToInt32(val) 
minutes = (val Mod hours) * 60 
+0

'minutes = (val Mod 1) * 60' также имеет тот же эффект – bansi

+0

Вы правы @bansi. – Edper

6

Что-то, как это должно работать слишком

Dim ts = New TimeSpan(0, 0, 12.5 * 60, 0) 
+0

'Dim tim As Decimal = 120.5' ' Dim ts = New TimeSpan (0, 0, tim * 60, 0) ' – Suji

+2

Легче было бы использовать Dim ts = TimeSpan.FromHours (12.5) –

Смежные вопросы