0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Swift] String型で受け取った数字をInt型に変換する

Last updated at Posted at 2023-11-02

今後開発を進めていく上で自分がつまずきそうな基礎部部分の振り返りです。
アプリ開発でTextFieldを利用する際に数値をInt型として変換するための処理を書きます。

今回はplyagroundで書いているので、定数としてtextFieldを設定します。

playground.swift
import Foundation
import UIKit

let textField = UITextField()
textField.text = "100"

ここではplayground想定で実行していますが、storyboard上だとTextFieldは上のようにOptional型の文字列で数値を受け取ります。
Optional型の文字列はそのままでは数値に変換できないので、これをまず文字列型に変換する必要があります。

playground.swift
import Foundation
import UIKit

let textField = UITextField()
textField.text = "100"

//String?(オプショナル)型からInt?へ変換
Int(textField.text ?? "")

Int型もオプショナル型のままだと計算ができないので、Int?からIntに変換します

playground.swift
import Foundation
import UIKit

let textField = UITextField()
textField.text = "100"

//String?(オプショナル)型からInt?へ変換
Int(textField.text ?? "")

//Int?は計算に使用できない
//Int(textField.text ?? "") + 10 

//Int?をIntに変換
Int(textField.text ?? "") ?? 0 + 10 //結果110

textFieldのtextに何も入っていない場合、??によってnilの場合は空の文字列を返し、それをInt変換時に再度??で0を返します。数値が渡されている場合はその数値がInt型として受け取られます。

結果、上記ではtextField.textに"100"を渡しInt型に変換して10を足しているため、結果は110です。

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?