타입 변환
Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 34번째.
readLine()은 String?을 반환하므로, 계산을 수행하려면 해당 문자열을 숫자로 변환해야 하는 경우가 많습니다. Swift는 명시적인 타입 변환을 요구하며, 문자열을 정수나 실수(double)로 자동으로 변환하지 않습니다.
문자열을 정수로 변환하려면 Int() 이니셜라이저를 사용하십시오. 변환이 실패할 수 있으므로(문자열에 숫자 대신 문자가 포함될 수 있음), 이 함수는 옵셔널(optional)을 반환합니다:
let input = "42"
if let number = Int(input) {
print(number + 10) // 출력: 52
}소수점 숫자의 경우, Double()을 사용하세요:
let priceString = "19.99"
if let price = Double(priceString) {
print(price * 2) // 출력: 39.98
}이것은 readLine()을 숫자 연산과 결합할 때 특히 유용합니다. 다음과 같이 언래핑(unwrapping)을 함께 연결할 수 있습니다:
if let input = readLine(), let age = Int(input) {
print("Next year you'll be \(age + 1)")
}if let 구문의 쉼표는 두 조건이 모두 성공해야 함을 의미합니다. 즉, 입력값이 존재해야 하며 정수로 변환 가능해야 합니다.
챌린지
쉬움두 개의 입력을 읽으십시오: 문자열 형태의 소수와 문자열 형태의 정수입니다. 이들을 적절한 숫자 타입으로 변환하고 그 곱을 계산하십시오.
다음과 같은 입력을 받게 됩니다:
- 첫 번째 줄: 소수 (예:
"3.5") - 두 번째 줄: 정수 (예:
"4")
두 입력을 읽기 위해 readLine()을 사용하십시오. 첫 번째 입력은 Double로, 두 번째 입력은 Int로 변환하십시오. 그런 다음 두 값을 곱하고 결과를 출력하십시오.
입력값과 변환된 값을 안전하게 추출(unwrap)하기 위해 체이닝된 옵셔널 바인딩(chained optional binding)과 함께 if let을 사용하십시오.
출력: 두 숫자의 곱을 Double 타입으로 출력하십시오.
치트 시트
Swift는 문자열과 숫자 사이의 명시적인 타입 변환을 요구합니다.
문자열을 정수로 변환하려면 Int()를 사용하세요. 변환이 실패할 수 있기 때문에 옵셔널을 반환합니다:
let input = "42"
if let number = Int(input) {
print(number + 10) // 출력: 52
}문자열을 소수(실수)로 변환하려면 Double()을 사용하세요:
let priceString = "19.99"
if let price = Double(priceString) {
print(price * 2) // 출력: 39.98
}if let에서 쉼표를 사용하여 readLine()과 함께 옵셔널 바인딩을 체이닝할 수 있습니다. 두 조건이 모두 성공해야 합니다:
if let input = readLine(), let age = Int(input) {
print("Next year you'll be \(age + 1)")
}직접 해보기
// 십진수 숫자를 문자열로 읽습니다
if let decimalString = readLine() {
// 정수를 문자열로 읽습니다
if let intString = readLine() {
// TODO: 아래에 코드를 작성하세요
// if let을 사용하여 decimalString을 Double로, intString을 Int로 변환하세요
// 그 다음 두 수의 곱을 계산하고 출력하세요
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.