2013-06-14 2 views
-1

저는 C#을 처음 사용합니다. 학교의 경우시, 분, 초를 숫자 값으로 변환하는 연습을해야합니다. 따라서 37 분 30 초가 0.625가됩니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?C에서 초, 초를 0.xxx 표기로 변환합니다.

덕분에 많은 먼저 초 총에 시간, 분, 초를 변환 할 것

+0

왜 37 분 30 초가 0.625가됩니까? [여기에서 시작하십시오] (http://www.developer.com/open/article.php/925741/Programming-with-C-----101.htm) – rene

+1

결과 값의 단위를 지정해야합니다. 귀하의 경우, 그것은 내가 생각하는 시간이 될 것입니다. –

+0

rene i thing 0.625 시간 –

답변

0

. 그런 다음 1 시간 동안의 초 수와 비교할 수 있습니다. 정수 디비전을 할 때는 두 배로 변환해야합니다.

3
var duration = new TimeSpan(0, 37, 30); 
string s = duration.TotalHours.ToString("0.###"); 
// s === "0.625" 
+0

답장을 보내 주셔서 감사합니다. 제가 찾고 있던 것이지만, 질문이 하나 더 있습니다.이 (0, 37, 30)을 변수로 바꿀 수 있습니까? 과제에서 사용자는 시간, 분 및 초를 제공해야하며 이는 변환되어야한다는 생각이었습니다. 내가 말했듯이, 나는 이것에 정말로 새로운 것이다. – user2485608

+0

@ user2485608 절대적으로; 나는 질문에서 숫자를 가져 가고 있었다. '새로운 TimeSpan (시, 분, 초)'괜찮습니다. –

+0

마크, 고마워요. – user2485608

2

당신이 시간으로 변환 시간, 분, 초를 원하는 가정, 당신은 이런 식으로 할 것 :

double result = hours + minutes/60.0 + seconds/(60.0 * 60.0); 

를이있는 분은 1/시간의 60하고 있기 때문에 초는 1/3600th of hour (3600 == 60 * 60)이므로 계산에 단순한 비율 조정이 사용됩니다.

선생님이 변환 논리를 이해하는지보고 싶다면 TimeSpan을 사용하는 대신 이러한 계산 방법을 보여줘야한다고 생각합니다.

1

TimeSpan 클래스는 여러 시간 (시, 분, ...)에서 TimeSpan을 빌드하는 Parse 메소드 및 생성자가 필요한 모든 것을 갖추고 있습니다. 숙제 :-p는 복사/붙여 넣기가 가능한 솔루션을 제공하지 않습니다. 결과를 분, 시간으로 반환하는 속성 ...

관련 문제