swift & iOS/swift

[Swift] 정수 나누기 (9 나누기 10을 했는데 0이 나오다)

whale3 2022. 1. 14. 14:21

자바스크립트를 하던 나는 0.9를 얻기 위해 당연하게도 9 / 10 을 했다. 

자바스크립트라면 분명 0.9 였을텐데 스위프트에서는 0이 나왔다. Int 나누기 Int는 Int 라는 것이다. 

아 그러면 9 / 10을 Float로 감싸면 되겠다^^ 싶었지만 여전히 0이 나왔다.

9 / 10이 0이었는데 0을 Float로 감싸봤자 0.0이 나오는 것이다. 

 

그래서 9 / 10 으로 0.9를 얻으려면 각 숫자를 Float로 만들고 나서 나눠야 한다. 

print(Float(9) / Float(10)) // 0.9

// 아니면 애초에 Float 변수들을 선언하고 그걸 사용해도 된다
let a: Float = 9
let b: Float = 10
print(a / b)

 

Float(9) 나누기 Float(10)을 하니 비로소 0.9가 나왔다.

 

 

만약 내가 Int를 얻고 싶으면 재료로 써먹는 숫자들도 Int여야 하고, double을 얻고 싶으면 재료들도 double로 먼저 바꾼 후에 계산을 해야 겠다.

반응형

'swift & iOS > swift' 카테고리의 다른 글

[swift] guard...else...  (0) 2022.01.16
[swift] switch문 case에 조건 달기 (where 키워드)  (0) 2022.01.16
[swift] 연산자들 (==, ..., ??)  (0) 2022.01.10
[swift] 타입 체크 (is)  (0) 2022.01.10
[swift] 타입 캐스팅 (형 변환)  (0) 2022.01.10