2013-02-05 2 views
1

숫자의 정수 부분과 소수 부분과 관련하여 문제가 있습니다. 실제로 필요한 것은 제가 101이라는 숫자를 가지고 있다고 말하는 것입니다. 이것은 실제로 약간의 계산과 그 시간 이후에 나온 것입니다. 시간과 분을 찾아야 해. 그래서 내가 무슨 짓을했는지정수와 소수 부분을 구하십시오.

   overtime = 101 
        Dim fraction As Decimal = 0 
        If overtime > 59 Then 
         fraction = overtime/60 
         'overtime = overtime/60 
         fraction = fraction - CInt(fraction) 
         fraction = fraction * 60 
         Dim str() As String = Split(fraction.ToString, ".") 
         Try 
          If str(2).Length > 2 Then 

          End If 
         Catch ex As Exception 

         End Try 

        End If 

하지만 난이 잘못된 답변을 얻을 수 있도록 정수 반올림지고 있습니다.

답변

4

정수만 남기는 소수 부분을 자동으로 잘라 버리는 \ 연산자 (일반 나눗셈 연산자와 반대 방향 슬래시)와 나눗셈 연산의 나머지 부분 만 반환하는 Mod 연산자를 살펴보십시오.

0

당신은 또한 당신을 위해 변환을 할 수있는 TimeSpan을 사용할 수 있습니다

Dim overtime As Integer = 101 
Dim ov As TimeSpan = TimeSpan.FromMinutes(overtime) 

' outputs "Hours: 1 Minutes: 41" 
Console.WriteLine(String.Format("Hours: {0} Minutes: {1}", ov.Days * 24 + ov.Hours, ov.Minutes)) 

overtimeDouble로 변환 할 수있는 다른 종류의 수 있습니다.

관련 문제