수 계산 중에 올림 값 표현을 위해서 Math.Ceiling 메소드를 사용하게 되었다.
그런데, 부동소수점 으로 인해서 원치 않는 올림이 되는 현상이 발생했다.
ex )
int value = 50;
double percent = 1.1d;
double result = Math.Ceiling(value * percent) ;
50 * 1.1 = 55 이고 올림을 해도 55가 나올 것으로 생각했으나
56 이 나오게 되었다. 알고 보니 부동소수점 밑으로 55.0000000000000007 뭐 이런 식으로 원치 않는 값이 들어와 있었다.
이래 저래 알아본 결과 System.Decimal.Ceiling 을 사용하게 되었다.
c# 에서 제공하는 통화를 위해 제공되고 있는 메소드 이다.
참고 : http://msdn.microsoft.com/ko-kr/library/364x0z75.aspx
'Dev > C#' 카테고리의 다른 글
[C#,SQL] SqlDatareader 로 Float 데이터 가져오기 (0) | 2012.11.22 |
---|---|
[C#] GMAIL(구글메일) 이용하여 파일첨부 이메일 보내기 (0) | 2012.10.18 |
[C#] 윈도우 사용자 계정 가져오기 (0) | 2012.10.17 |
[C#] 문자열에 특정 문자열 포함 여부 확인하는 방법 (0) | 2012.10.17 |
[C#] 정적 메소드(Static Method)와 인스턴스 메소드(Instance Method) 차이 (0) | 2012.03.23 |