.Net에서 가장 가까운 0.05 값으로 소수 값을 올림 할 수있는 방법이 있습니까?십진법 값을 가장 가까운 0.05 값으로 반올림하는 방법은 무엇입니까?
예 :
7.125 -> 7.15
6.66 -> 6.7
만약 그 사람이 나에게 너 한테를 제공 할 수 있습니다 사용할 수?
.Net에서 가장 가까운 0.05 값으로 소수 값을 올림 할 수있는 방법이 있습니까?십진법 값을 가장 가까운 0.05 값으로 반올림하는 방법은 무엇입니까?
예 :
7.125 -> 7.15
6.66 -> 6.7
만약 그 사람이 나에게 너 한테를 제공 할 수 있습니다 사용할 수?
방법에 대해 :
Math.Ceiling(myValue * 20)/20
Math..::.Round Method (Decimal, Int32, MidpointRounding)
라운드 소수 자릿수의 지정된 번호로 배정 밀도 부동 소수점 값입니다. 매개 변수는 다른 두 숫자 사이의 중간에 값을 반올림하는 방법을 지정합니다.
Math.Round(1.489,2,MidpointRounding.AwayFromZero)
에 대한보다 쉬운 방법입니다. MidpointRounding.AwayFromZero는 라운드 업을 허용하지 않습니다. - http://msdn.microsoft.com/en-us/library/system.midpointrounding.aspx –
사용이 :
동일한 논리가 T-SQL에서 사용할 수있는Math.Round(mydecimal/0.05m, 0) * 0.05m;
: 직접 정밀도를 볼 수 있기 때문에 단순히 내가 selected answer에이 방법을 선호
ROUND(@mydecimal/0.05, 0) * 0.05
익숙한. 이 같은
Math.Round는 라운드 업을 허용하지 않습니다. –
뭔가뿐만 아니라 0.05, 어떤 단계에서 작동합니다 :
private decimal RoundUp (decimal value, decimal step)
{
var multiplicand = Math.Ceiling (value/step);
return step * multiplicand;
}
우수 ... 감사 –
predator4이 : 즉, 영업 이익은 원하는 것을 보인다는'6.66로 -> 6.7' 예. – caf
@ predator4 : 내 시나리오 (세금 계산)에서 해당 정확함 –