강의로 돌아가기
-

제가 질문의 요지를 잘못 이해 했었군요.

질문의 요지는 2번째줄만 고쳐야 한다는 조건이었네요.
2번째 줄의 distance를 적당한 타입으로 변경해서 description을 다음과 같이 출력되게 완성해보세요.

별의별 방법이 다 있었지만 결국 이렇게 해결했습니다.

let distance = String(Double(69500*0.001))
let description = 판교에서 파주는 + distance + km 거리입니다.

print(description)

그런데 하다가 좀 이해가 안가는 부분이 있었는데..
69500/1000 과 69500*0.001 의 결과값이 다르더군요.
전자는 69 로 나오고 후자는 69.5 로 나오던데 왜 그런걸까요?

작성중인 코드―Distance.swift
1
2
3
4
5
6
7
8
판교와 파주 사이에 거리는 69500m입니다.
2번째 줄의 distance를 적당한 타입으로 변경해서 description을 다음과 같이 출력되게 완성해보세요.
"판교에서 파주는 69.5km 거리입니다."

let distance = String(Double(69500*0.001))
let description = "판교에서 파주는 " + distance + "km 거리입니다."

print(description)
1 개의 답변
Demi

69500/1000는 int 와 int 를 나눴으므로, 결과도 int 타입입니다. 따라서 소수점은 사라집니다.

69500*0.001는 int와 double의 곱으로, 결과는 double타입입니다. 따라서 소수점 영역이 보존됩니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.