반응형
* C# 반올림 Math.Round() 예제...
//테스트 변수
double dbTmp = 12.5;
//반올림
int iRound = (int)Math.Round(dbTmp, MidpointRounding.AwayFromZero );
//결과 : iRound = 13
//올림
int iCeiling = (int)Math.Ceiling(dbTmp);
//결과 : iCeiling = 13
//내림
int iTruncate = (int)Math.Truncate(dbTmp);
//결과 : iTruncate = 12
//int 형으로 캐스팅 했을 시
int iTmp = (int)dbTmp;
//결과 : iTmp = 12
MessageBox.Show(iRound.ToString() + ", " + iCeiling.ToString() + ", " + iTruncate.ToString() + ", " + iTmp.ToString());
위 소스코드를 보면 Math.Round() 함수에 인자가 반드시 열거형 인자 MidpointRounding.AwayFromZero
전달 되는 걸 볼 수 있습니다. 만약 열거형 인자 MidpointRounding.AwayFromZero 없다면 소수점 0.5 가 반
올림이 되지 않는 걸 볼 수 있습니다.
다음 표에서 일부 양수 및 음수 값과 함께에서 반올림의 결과 보여 줍니다. MidpointRounding합니다. 숫자를 반올림 하거나 내림 하는 데 자릿수가 소수점 반올림 연산에 영향을 줍니다 후 수는 0입니다. 예를 들어-2.5 수, 소수점 뒤의 숫자는 5입니다. 해당 숫자가 중간점 이기 때문에 사용할 수는 MidpointRounding 값을 반올림 한 결과 확인 합니다. 가 AwayFromZero 지정 된 경우-3은 전체 자릿수가 0 인 가장 가까운 숫자 이므로 반환 됩니다. 을 ToEven 지정 하면 전체 자릿수가 0 인 가장 가까운 짝수로는-2가 반환 됩니다.
원래 수 AwayFromZero ToEven
3.5 | 4 | 4 |
2.8 | 3 | 3 |
2.5 | 3 | 2 |
2.1 | 2 | 2 |
-2.1 | -2 | -2 |
-2.5 | -3 | -2 |
-2.8 | -3 | -3 |
-3.5 | -4 | -4 |
*참조 문서 https://docs.microsoft.com/ko-kr/dotnet/api/system.midpointrounding?view=netframework-4.8
반응형
'C# Programming' 카테고리의 다른 글
[C#] Json Read 를 이용한 로또(Lotto) 당첨 번호 읽기 예제 (0) | 2019.12.09 |
---|---|
[C#] Json File Write & Read 예제 (0) | 2019.12.02 |
[C#] VB (Redim Preserve) 처럼 배열 크기(Size) 조절 하기 (0) | 2019.11.25 |
[C#] 32bit, 64 bit 운영 체제 체크하기 (1) | 2019.11.21 |
[C#] 폴더 락 설정 및 해제 (Folder Lock) - 권한 설정 및 해제 (0) | 2019.11.18 |