2009-09-19 2 views

답변

25

방법에 대해 :

Math.Ceiling(myValue * 20)/20 
+0

우수 ... 감사 –

+0

predator4이 : 즉, 영업 이익은 원하는 것을 보인다는'6.66로 -> 6.7' 예. – caf

+0

@ predator4 : 내 시나리오 (세금 계산)에서 해당 정확함 –

1

중복 here와 루비와 파이썬에 대한 here. 너무 다르지 않아야합니다.

2

Math..::.Round Method (Decimal, Int32, MidpointRounding)

라운드 소수 자릿수의 지정된 번호로 배정 밀도 부동 소수점 값입니다. 매개 변수는 다른 두 숫자 사이의 중간에 값을 반올림하는 방법을 지정합니다.

Math.Round(1.489,2,MidpointRounding.AwayFromZero) 
+0

에 대한보다 쉬운 방법입니다. MidpointRounding.AwayFromZero는 라운드 업을 허용하지 않습니다. - http://msdn.microsoft.com/en-us/library/system.midpointrounding.aspx –

7

사용이 :

동일한 논리가 T-SQL에서 사용할 수있는
Math.Round(mydecimal/0.05m, 0) * 0.05m; 

: 직접 정밀도를 볼 수 있기 때문에 단순히 내가 selected answer에이 방법을 선호

ROUND(@mydecimal/0.05, 0) * 0.05 

익숙한. 이 같은

+2

Math.Round는 라운드 업을 허용하지 않습니다. –

4

뭔가뿐만 아니라 0.05, 어떤 단계에서 작동합니다 :

private decimal RoundUp (decimal value, decimal step) 
{ 
    var multiplicand = Math.Ceiling (value/step); 
    return step * multiplicand; 
} 
관련 문제