Menu
Coddy logo textTech

型変換

CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 34/86。

readLine()String? を返すため、計算を行うには、その文字列を数値に変換する必要があることがよくあります。Swift では明示的な型変換が必要です。文字列を自動的に整数や Double に変換することはありません。

文字列を整数に変換するには、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文のコンマは、両方の条件が成功する必要があることを意味します。つまり、入力が存在し、整数に変換可能でなければなりません。

challenge icon

チャレンジ

簡単

2つのinputを読み取ります。1つはstringとしての小数で、もう1つはstringとしての整数です。それらを適切な数値型にConvertし、their productをcalculateします。

次のinputを受け取ります:

  • 1行目:小数(例:"3.5"
  • 2行目:整数(例:"4"

readLine()を使用して両方のinputを読み取ります。1つ目のinputをDoubleにConvertし、2つ目をIntにConvertします。その後、それらを掛け合わせ、結果をprintします。

inputとConvertされた値の両方を安全にアンラップするため、連続したオプショナルバインディングを使用するif letを使います。

Print:2つの数値のproductをDoubleとして出力します

自分で試してみよう

// 小数を文字列として読み取る
if let decimalString = readLine() {
    // 整数を文字列として読み取る
    if let intString = readLine() {
        // TODO: 以下にコードを書いてください
        // if let を使って decimalString を Double に、intString を Int に変換する
        // 次にそれらの積を計算して出力する
        
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Swiftプレイグラウンド