Menu
Coddy logo textTech

형 변환

Coddy Swift 여정의 기초 섹션에 포함된 레슨. 86개 중 34번째.

readLine()String?을 반환하므로, 계산을 수행하려면 해당 문자열을 숫자로 변환해야 하는 경우가 많습니다. 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
}

이는 readLine()을 숫자 연산과 결합할 때 특히 유용합니다. 언래핑을 연결하여 함께 수행할 수 있습니다.

if let input = readLine(), let age = Int(input) {
    print("Next year you'll be \(age + 1)")
}

if let 문에서 쉼표는 두 조건이 모두 충족되어야 함을 의미합니다. 즉, input이 존재해야 하고 integer로 변환 가능해야 합니다.

challenge icon

챌린지

쉬움

10진수를 문자열로, 정수를 문자열로 입력받습니다. 각각을 적절한 숫자 형식으로 변환하고 두 수의 곱을 계산하세요.

다음 입력을 받습니다:

  • 첫 번째 줄: 10진수(예: "3.5")
  • 두 번째 줄: 정수(예: "4")

readLine()을 사용하여 두 입력을 모두 읽으세요. 첫 번째 입력을 Double로, 두 번째 입력을 Int로 변환하세요. 그런 다음 두 값을 곱하고 결과를 출력하세요.

입력값과 변환된 값을 안전하게 언래핑하려면 연쇄 옵셔널 바인딩과 함께 if let을 사용하세요.

출력: 두 수의 곱을 Double로 출력

직접 해보기

// 소수 숫자를 문자열로 읽기
if let decimalString = readLine() {
    // 정수를 문자열로 읽기
    if let intString = readLine() {
        // TODO: 아래에 코드를 작성하세요
        // if let을 사용하여 decimalString을 Double로, intString을 Int로 변환하세요
        // 그런 다음 두 값의 곱을 계산하고 출력하세요
        
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드