2012-03-23 4 views
0

내 텍스트 항목에 소수를 반올림하고 최종 결과를 정수로 사용하고 싶습니다. 이것은 내가 가진 것이지만 작동하지 않습니다. 이 작업을 수행하는 가장 쉬운 방법은 무엇입니까? 감사합니다문자열 입력에서 십진수를 반올림하고 int로 변환하는 방법

decimal startMiles = Int32.Parse(txtStartMiles.Text); 
startMiles = Math.Round(startMiles); 
startMiles = Int32.Parse(startMiles); 
+0

정확히 작동하지 않는 것은 무엇입니까? 샘플 입력 및 예상 출력을 제공하십시오 – sll

+0

십진수를 int 등으로 변환 할 수 없습니다. 텍스트 상자에 입력 된 마일리지를 사용하여 56000.10 또는 56000을 항상 소수 자리가 아닌 int로 저장할 수 있습니다. –

+1

제 대답을 참조하십시오. 그것은 당신의 질문에서 꽤 이슈가 무엇인지 명확하지 않은 이후로 당신이 예상대로 작동합니다 – sll

답변

4
int rounded; 
string input = "2.53"; 
decimal startMiles; 

if (Decimal.TryParse(input, out startMiles)) 
{  
    rounded = Convert.ToInt32(startMiles); 

    // here is rounded == 3 
} 

Convert.ToInt32 Method (Double)

값은 가장 가까운 부호있는 32 비트 정수로 반올림됩니다. 값이 두 개의 정수 사이의 중간에 이면 짝수가 반환됩니다. 즉, 4.5 은 4로 변환되고 5.5는 6으로 변환됩니다.

+1

완벽하게 작동합니다! 고맙습니다!! –

+0

행복하게, 당신은 환영합니다! – sll

관련 문제