본문 바로가기
개발/C#

[C#]Math.Round 반올림 함수 이슈

by MNMNMNMN 2020. 12. 24.
728x90

c# Math.Round

  • 소수점 이하를 반올림 합니다.
  • 가장 가까운 정수로 반올림

문제점
0.5 일때 가장 가까운 짝수 정수로 리턴 합니다.
ex) 11.5 는 12로 반올림이되고, 12.5는 12로 반올림 됩니다.

 

일반적으로 우리는 0.5일때 반올림을 하면 +0.5를 합니다.
위의 문제를 해결하는 방법으로는 MidpointRounding 을 AwayFromZero로 지정하면 됩니다.

 

[함수원형]

public static double Round (double value, MidpointRounding mode);

[사용 예시]

Math.Round(2.5f,MidpointRounding.AwayFromZero);

 

[참조]
https://docs.microsoft.com/ko-kr/dotnet/api/system.math.round?view=netframework-4.8#System_Math_Round_System_Decimal_System_Int32_System_MidpointRounding_

 

[참조]
https://docs.microsoft.com/ko-kr/dotnet/api/system.midpointrounding?view=netframework-4.8

728x90
반응형

'개발 > C#' 카테고리의 다른 글

c# List나 Dictionary 의 capacity 설정  (0) 2021.02.23
c# ? 연산자 사용하기  (0) 2021.02.23
[C#] 다차원 배열  (0) 2020.12.22
C# 연산자 종류  (0) 2020.11.19
[C#]URI 문자열을 이스케이프된 표현으로 변환합니다.  (0) 2020.10.08

댓글