C# 공부

[C#] 소숫점 반올림, 올림, 내림 (Mathf.Round /Mathf.Ceil / Mathf.Floor)

ogh4554 2025. 3. 30. 23:01

A* 알고리즘에 대해 공부하던 중 "노드 사이즈/그리드 사이즈"를 하게 되면서

기준으로 삼은 맵에 노드를 배치해야 할 때 어느정도를 배치해야 하는지 알 필요가 있었다.

그 과정에서 소숫점이 남게 되는 경우가 생기면서 정확하게 노드가 배치되야 하므로 이를 int 형으로 바꿀 필요가 있었다.

 

구글링 결과 Mathf를 사용해서 소숫점 첫째자리에서 반올림, 올림, 내림이 가능하다는 것을 알게되었고

이후에도 기억하고자 블로그 작성을 해서 기억에 남기려 한다

 

1. 반올림

- Mathf.Round(float) = 소숫점 첫째 자리에서 반올림한 결과를 float형으로 반환

- Mathf.RoundToInt(float) = 소숫점 첫째 자리에서 반올림한 결과를 int형으로 반환

 

2. 올림

- Mathf.Ceil(float) = 소숫점 첫째 자리에서 올림한 결과를 float형으로 반환

- Mathf.CeilToInt(float) = 소숫점 첫째 자리에서 올림한 결과를 int형으로 반환

 

3. 내림

- Mathf.Floor(float) = 소숫점 첫째 자리에서 내림한 결과를 float형으로 반환

- Mathf.FloorToInt(float) = 소숫점 첫째 자리에서 내림한 결과를 int형으로 반환


이처럼 그냥 앞의 float를 반환하는 메서드에서 ToInt만 추가하면 int형을 반환하도록 할 수 있다.

이번에 처음 써봤지만 뭔가 느낌상 앞으로도 자주 사용할 것 같으니 확실히 기억하도록 하자.

특히 A* 알고리즘 쓸때 많이 사용한다니까 무조건 기억해야 할 듯하다.

'C# 공부' 카테고리의 다른 글

[C#] 가비지 컬렉터 (Garbage Collector)  (1) 2025.04.11
[C#] 스트링빌더 (StringBuilder)  (1) 2025.03.15
인터페이스(Interface)  (1) 2024.11.15
string 메서드  (0) 2024.11.09