2009-04-23 5 views
5

어떻게 10 진수 값을 반올림합니까?
예 :C에서 십진수 값 반올림

소수점 값 = "19500.98"

내가 함께 입력란이 값을 표시해야

"19,501"

경우 십진수 다음 = "19500.43"

처럼 반올림

value = "19500"

+0

있습니다에게 숫자를 반올림 하나 이상의 방법을 도움이된다면 적시에 올바른 반올림을 사용하도록주의하십시오. – Richard

답변

20

Math.Round(decimal) 또는 the overload which takes a MidpointRounding argument을보세요.

물론 텍스트를 가져 오거나 가져 오기 위해 값을 구문 분석하고 서식을 지정해야합니다. 사용자가 입력 한 내용이면 decimal.TryParse을 사용하여 반환 값을 사용하여 입력이 유효한지 여부를 결정해야합니다.

string text = "19500.55"; 
decimal value; 
if (decimal.TryParse(text, out value)) 
{ 
    value = Math.Round(value); 
    text = value.ToString(); 
    // Do something with the new text value 
} 
else 
{ 
    // Tell the user their input is invalid 
} 
5

Math.Round (값, 0)

1

이 시도 ...

var someValue=123123.234324243m; 
var strValue=someValue.ToString("#"); 
-2
Total = Math.Ceiling(value) 

대답은 당신이 필요로하는 응용 프로그램 도메인에 따라, 당신

+1

천장으로 반올림합니다. '19500.43'은 '19501'이 될 것이고, '19500'은 운영 예정과 다를 것이다. – Ivar

+0

그렇다면 0.5보다 크면 양을 반올림하고 싶다면 Math.Round (Value, MidpointRounding.AwayFromZero)를 사용할 수 있습니다. – Bilal

+0

이거나이 Math.Round (Value, MidpointRounding.ToEven)를 사용할 수 있습니다. – Bilal

관련 문제