반응형
필자는 계산기를 만들던 도중에
말도 안되는 값이 나와 디버그를 돌렸더니
1 / 6 = 1 이고 , 5 / 2 = 2 라는 엄청난 값이 나왔던 경험이있다.
그 당시엔 이유를 못찾았는데 지금보니
저 수들이 모두 int값이라 그런것 같다.
int는 정수형 으로 0.5, 0.3 등 소수점이 붙을 수 없다.
그렇기에 1/6을 해도 1이 나오는것이고,
5/2가 2.5라도 2가 나오게 되는것이다.
이런경우는 진짜 모른다면 알 방법도 없고
자칫하면 몇시간을 헤멜수 있기 때문에
앞으로는 int와 float를 정확히 구분하여 적절한 곳에 들이는 습관을 가져야겠다.
해결법: 1f / 6f , 5f / 2f
도움이 되었길 바라며,
끝.
반응형
'게임 개발 > C#' 카테고리의 다른 글
Linq C# 리스트에서 같은수 지우기(중복수 제거) (0) | 2022.07.15 |
---|---|
유니티 C# 문자열 나누기(split) (0) | 2022.07.14 |
유니티 C# 배열의 값을 한번에 정의하기 (0) | 2022.07.14 |
C# 문자열을 임의로 자르기 Substring (0) | 2022.07.14 |
유니티 c# Vector2 , Vector3의 비 유지시키기 (0) | 2022.07.14 |
댓글