반응형
분수 값을 비교해야 하는데 문제가 생겼다.
print(1/2) 하면 0.5 가 아니라 결과물로 0 이 출력된다.
나누기 해서 소숫점까지 받아와야 할 때는, 나누기 하려는 인자들 또한 소숫점 형태로 넣어줘야 한다눙..
1/2의 /는
public func /(lhs: Int, rhs: Int) -> Int
Int 형식의 값을 받아와 Int를 반환
1.0/2.0 의 /는
public func /(lhs: Double, rhs: Double) -> Double
소숫점 형식의 Double 값을 받아와 Double을 반환 (Float 도 상관업둠)
참고 : ZeddiOS - 나누기가 안될 때
* Float vs. Double
Float와 Double은 부동 소수점을 사용하는 실수이며, 부동소수 타입이라고 한다.
스위프트에는 64비트 부동소수를 표현하는 Double과 32비트 부동소수를 표현하는 Float이 있다.
64비트 환경에서 Double은 최소 15자리의 십진수를 표현할 수 있는 반면, Float는 6자리의 숫자까지만 표현이 가능하다.
Float을 사용하여 메모리를 아끼고자 하는 경우가 아니라면
보통 Double 사용을 더 권장하고 있다고 한다.
728x90
반응형
'Algorithm > 참고' 카테고리의 다른 글
코테공부 시행착오 (0) | 2022.10.27 |
---|---|
[Swift 알고리즘] 소수 판별 (2) | 2022.02.28 |
[Swift] 제곱 함수 pow, 제곱근 함수 sqrt (0) | 2022.02.09 |
[Swift] 2진수 변환 radix (0) | 2022.02.09 |
[Swift] reversed() (1) | 2022.01.16 |