2014-08-28 3 views
0

프로젝트에서 작업 한 시간 수를 2 열 - 시간과 분으로 기록합니다.10 진수를시와 분으로 변환합니다.

수 있을까 -

1.00 
1.15 
1.30 
1.45 

나는 시간 기록이

-

6.30 
1.30 
1.00 
1.45 

나는 10.45 일에 총을 필요로하는 반면, 총, 10.75입니다.

=Sum(Fields!Hours.Value, "DataSet1") + (Sum(Fields!Minutes.Value, "DataSet1")/60) 

이것은이 RDLC 보고서에 표시하기 -

지금까지, 나는 VB 식을 가지고있다.

내가 잘못 가고있는 아이디어가 있습니까?

+0

두 번째 열에 대한 합계는 실제로 10.05이고 두 번째 열과 첫 번째 열과 다른 점을 실제로 이해하지 못합니까? 숫자가 어디서 왔는지 이해하기 어렵 기 때문에 실제 사례를 보여주기 위해 더 많은 노력을 기울일 수 있습니까? –

+0

첫 번째 열은 시간이고 두 번째 열은 분입니다. 로그가 사용자에 의해 추가되면 시간 (1 - 8)을 선택한 다음 1 분 (0, 15, 30, 45)을 선택합니다. 보고서에 총 10.75가 표시됩니다. – dynamicuser

+0

Sql Server 2008 이상을 사용하는 경우 정확한 합계를 제공하는 열에 시간 데이터 형식을 사용할 수 있습니다. – Priyank

답변

0

십진수 부분을 분으로 사용하고 있지만 한 시간에 60 분이 아니기 때문에 전체 부분이 100 개가 아닌 100 개의 부분이 있습니다.

숫자에 대한 계산을 수행하려면 시간. 분 형식을 분수 시간으로 변환해야합니다. 1.30은 1.5 시간으로 변환됩니다.

는 ( time 변환 할 수있는 값)이 같은 공식 사용하여 수행 할 수 있습니다

: 당신이 hour.minute 형식으로 결과를 원하는 경우 계산 후

Int(time) + 100.0 * (time Mod 1.0)/60.0 

는, 당신은 그것을 변환해야 back :

Int(time) + Round(60.0 * (time Mod 1.0)/100.0, 2) 
관련 문제