文字列
変換
整数
方法
swift3

Swiftの練習 Swift3 で文字列を整数に変換する方法

Swift3 で文字列を整数に変換する方法

Swift3.swift
   let str = "12345"
   let num = Int(str)!

   print("num : \(num)")

   let yearStr = "ab3de"
   var nextYear = 0

   if let year = Int(yearStr) {
      nextYear = year + 1
      print("\(yearStr)年の翌年は\(nextYear)年")

   } else {
      print("変換できません")
   }
Swift3.log
   num : 12345
   変換できません

失敗しました

それでは失敗しない方法

Swift3.swift
   let str = "1984"
   let num = Int(str)!

   print("num : \(num)")

   let yearStr = str
   var nextYear = 0

   if let year = Int(yearStr) {
      nextYear = year + 1
      print("\(yearStr)年の翌年は\(nextYear)年")
   } else {
      print("変換できません")
   }
Swift3.log
   num : 1984
   1984年の翌年は、1985年

ちなみに

String型のtoInt()メソッド

Swift1.xでは、「”12345″」といった整数を表す文字列を整数に変換する場合String型のtoInt()メソッドを使用しておりましたがSwift2.x以降ではtoInt()メソッドが廃止されました。

Swift1.swift
   var str = "134"
   var num = str.toInt()

Int()イニシャライザ

Swift2.x以降ではInt型のInt()イニシャライザを使用して文字列を整数に変換します。toStr()メソッドと同様に戻り値はオプショナル型なので、値を取り出すには変数/定数の後ろに「!」を記述してアンラップしています。

Swift2.swift
   var str = "134"
   var num = Int(str)!

オプショナルバインディング

値が「”ab3de”」のように整数値に変換できない場合は、実行時にエラーとなります。より安全にアンラップするには、例題にあげたようにオプショナルバインディングを使用するようにしましょう。

例題は、変数yearStrを整数に変換して1を足してnextYearに格納し「〜年の翌年は〜年です」と表示する。
変換できない場合には「変換できません」と表示する。


制作チーム:サンストライプ

(NEWドメイン) http://sunstripe-main.jp/