LoginSignup
11
20

More than 3 years have passed since last update.

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

Last updated at Posted at 2017-08-15

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に格納し「〜年の翌年は〜年です」と表示する。

変換できない場合には「変換できません」と表示する。

関連記事

【About】(http://qiita.com/sunstripe) - サンストライプ


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

sunstripe_logo.png
http://sunstripe.main.jp/

(月1WEBコンテンツをリリースして便利な世の中を作っていくぞ!!ボランティアプログラマー/デザイナー/イラストレーター/その他クリエイター声優募集中!!)

地域情報 THEメディア

THE メディア 地域活性化をテーマに様々なリリース情報も含め、記事をお届けしてます!!
https://the.themedia.jp/

ゼロからはじめる演劇ワークショップ

多様化の時代に向けて他者理解を鍛える

プログラミングワークショップ・ウェブ塾の開講!!!

様々なテーマでプログラミングに囚われずに取り組んでいきます。
詳しくはこちら ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
プログラミングサロン 月1だけのプログラミング学習塾

協力応援 / 支援者の集い

チーム:サンストライプ

プログラミングラボ

一緒にポートフォリオを作りませんか?現場の体験やそれぞれの立場から年齢関係なく作品を作りたい方々と一緒にチームを作って、作品を作っています。現場に行きたい人には、職場紹介や職場の体験や悩み相談なども受けております。
様々な職種からプログラミングの知識を得たい、デザインの知識を得たい、データーベースの知識を得たいという人が集まっております。
週1のミーティングにそれぞれの近況と作業報告して、たまにリモート飲み会などをしております!!

興味がある方は、DMに話しかけてみてください。

トラストヒューマン

http://trusthuman.co.jp/
私たちは何よりも信頼、人と考えてます。

「コンサルティング」と「クリエイティブ」の両角度から「人材戦略パートナー」としてトータル的にサポートします!!

キャリア教育事業
広域学習支援プラットフォーム『のびのび日和』
https://slc-lab.amebaownd.com/

スポンサー募集

11
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
20