최대 10 진수 값을 2 점까지 올림합니다. 그러나 0.01보다 작은 숫자의 경우 0.01을 반환하고 싶습니다. C#에서 0이 아닌 경우 지정된 자릿수까지 반올림을 유지하십시오.
RoundUp(0.146,2) should return 0.15
RoundUp(0.0003,2) should return 0.01
, 나는 현재
MidpointRounding.AwayFromZero
매개 변수,
Math.Round
를 사용하고 있고
Math.Round(0.0003, 2, MidpointRounding.AwayFromZero);
것이 0
를 반환합니다.
원하는 동작을 수행하는 데 사용할 수있는 Math 네임 스페이스에 빌드 된 메서드가 있습니까?
현재 나는이 방법private double GetRoundUpValue(double price, int roundUpto)
{
Debug.Assert(roundUpto == 2 || roundUpto == 3);
var val = Math.Round(price, roundUpto, MidpointRounding.AwayFromZero);
Double minValue = roundUpto == 2 ? 0.01 : 0.001;
return val < minValue ? minValue : val;
}
0.143 0.14 또는 0.15이어야한다? 당신은 항상 0
0.143은 0.015를 반환해야합니다. – ua741