자바스크립트를 하던 나는 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)
만약 내가 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 |