C#의 MathF.Round() 메서드는 float 값을 가장 가까운 정수로 반올림하거나, 지정한 소수점 자릿수까지 반올림할 때 사용하는 메서드입니다. 부동소수점 연산 결과를 깔끔하게 정리해야 할 때 매우 유용합니다.
문법(Syntax)
MathF.Round() 메서드는 다음과 같이 네 가지 오버로드 형태를 제공합니다.
public static float Round (float x); public static float Round (float x, int digits); public static float Round (float x, int digits, MidpointRounding mode); public static float Round (float x, MidpointRounding mode);
- x: 반올림할 float 값
- digits: 반환값에서 유지할 소수점 이하 자릿수
- mode: 중간 지점(예: .5) 값의 반올림 방식을 지정하는 MidpointRounding 옵션
예제 1: 기본적인 반올림
가장 기본적인 형태로, 소수점 없이 가장 가까운 정수로 반올림하는 예제입니다.
using System;
public class Demo {
public static void Main(){
float val1 = 15.20f;
float val2 = 3.10f;
Console.WriteLine("Rounded (val1) = "+MathF.Round(val1));
Console.WriteLine("Rounded (val2) = "+MathF.Round(val2));
}
}출력 결과
Rounded (val1) = 15 Rounded (val2) = 3
15.20은 15로, 3.10은 3으로 각각 가장 가까운 정수로 반올림된 것을 확인할 수 있습니다.
예제 2: 소수점 자릿수 지정 반올림
두 번째 매개변수에 자릿수를 전달하면, 해당 소수점 자릿수까지 반올림됩니다.
using System;
public class Demo {
public static void Main(){
float val1 = 10.23898f;
float val2 = 20.878788f;
Console.WriteLine("Rounded (val1) = "+MathF.Round(val1,2));
Console.WriteLine("Rounded (val2) = "+MathF.Round(val2,3));
}
}출력 결과
Rounded (val1) = 10.24 Rounded (val2) = 20.879
10.23898은 소수점 둘째 자리까지 반올림되어 10.24가 되었고, 20.878788은 셋째 자리까지 반올림되어 20.879가 되었습니다.
정리
MathF.Round() 메서드는 단순히 정수 반올림만이 아니라, 원하는 소수점 자릿수를 지정하거나 MidpointRounding 옵션을 통해 은행원 반올림(MidpointRounding.ToEven)과 같은 세부 규칙까지 제어할 수 있습니다. 금액 계산, 통계 처리 등 정확한 수치 표현이 필요한 상황에서 적극적으로 활용해 보시기 바랍니다.