[Swift] 정수와 부동 소수점 연산하기

Ujeon 🍵
Nov 23, 2021

--

연산 전 형 변환을 합시다

얼마 전 알고리즘을 풀면서Int 타입의 두 변수를 나누어 그 결과 값을 새로운 변수에 담아 결과를 확인해보니, 생각했던 결과와 다른 결과 값이 표시되었습니다. 🧐

예를 들면, 1 / 3 = 0.33333333... 을 기대하였는데, 로그에는 0 이 출력되었던 것이죠.

그래서 ‘원하는 건 Double 타입이니, 새로운 Double 타입 인스턴스를 생성할 때 연산 결과를 전달하면 되겠다!’ 라고 생각하여 아래 스크린 샷과 같이 구현을 하였습니다.

하지만… 제 생각과는 달리 여전히 Int 형태의 값을 반환하고 있었죠. 🥲 (물론 타입은 Double 이지만요!)

result2에는 Double 타입의 0 값이 담겨 있습니다.

구글에서 원인을 찾아보니 연산을 하기 전, 피연산자를 형변환 해주어야 했습니다.

제가 의도하는 값을 반환하기 위해 divide 함수를 다음과 같이 변경하였습니다.

이제 의도한 대로 1 / 3 = 0.33333333... 이 출력 될 것입니다. 😀

의도하는 값과 타입으로 값이 반환됩니다.

이처럼 Swift에서는 값을 연산하기 전, 원하는 타입으로 형 변환을 선행해야한다는 것 기억해두면 좋을 것 같습니다.

--

--

Ujeon 🍵

Hi there, this is Ujeon. I want to be a developer who passes on value through development :)