본문 바로가기
Study/Apple Swift

[SWIFT] Floating 연산 오류(?)

by Answer Choi 2016. 1. 22.
반응형

스터디 목적으로 간단한 계산기 프로그램을 만들고 있는데 난간에 부딪혔네요 ㅠ


일반 정수 연산을 잘되는데 소수점 연산을 하다보니 Floating 연산시 연산과정에서 이상하게 변합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var new=0.11
var pointnum:Float=0.1
if(new>0){  //still under 0
    repeat{
        cnt++
        new=new*10
        print("cur1 point is : "+String(new))
        print(Int(new))
        print(Float(Int(new)))
        new=Float(new)-Float(Int(new))
                    
        print("cur2 point is : "+String(new))
        pointnum/=10
        print("curcal point is : "+String(pointnum))
        }while new>0
}
cs


소수점 몇째자리인지 구하기 위해 위와 같은 코드를 적용하였는데 Line 10의 Floating 뺄셈쪽에서


이상한 값으로 변하네요.(Line 1은 예시로 넣은 값입니다.)


이건 로그인데 보시면 11번째 줄에서 0이 나와야 하는데 0이 나오질 않습니다.


그래서 루프가 돌다보니 이상한 값으로 변하게 됩니다.


코드를 여러가지로 바꿔봐도 마찬가지네요.


좀 더 해봐야 할 것 같습니다.ㅜ


반응형

'Study > Apple Swift' 카테고리의 다른 글

[SWIFT] Date Picker  (0) 2016.02.02
[SWIFT] 현재시간 구하기  (0) 2016.01.26
[SWIFT] 네트워크 연결되어 있는지 확인하기  (0) 2016.01.21
[SWIFT] 화면전환 (데이터 전달)  (0) 2016.01.19
[ SWIFT ] 타이머 만들기  (0) 2016.01.18

인기글