Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > 文字列から数字、数字か文字列への変換

文字列から数字、数字から文字列への変換

文字列から数字、数字から文字列へは意外に頻繁にやりますのでメモ。

参考:Get number value from string in swift
参考:Convert Int to String in Swift

文字列 ー> 数字


Stringクラスに含まれるtoIntメンバ関数を利用する


var stringNumber:String = "1234"
var numberFromString = stringNumber.toInt()
println(numberFromString)//Optional(1234)を出力

上記のtoIntですが、Optional型になりますので注意です。つまり以下のようになります。


var stringNumber:String = "1234"
var numberFromString:Int! = stringNumber.toInt()//IntをOptional型に
println(numberFromString)//Optional(1234)を出力

Optional型にしたくない場合は、toIntの後ろにびっくりマークをつけてUnwrapしてください


var stringNumber:String = "1234"
var numberFromString = stringNumber.toInt()!//アンラップ
println(numberFromString)//1234を出力

数字以外を入れると、、、、


var stringNumber:String = "swift-salaryman"
var swiftSalarymanFromString = stringNumber.toInt()
println(swiftSalarymanFromString)//nilを出力

nilになります。このパターンがあるのでOptional型に変換されるのでしょうか。ToInt()の後ろにびっくりマークがあればコンパイルエラーになります。

数字 ー> 文字列


以下のようにキャストすることで簡単にできてしまいます。


let x : Int = 123
var str = String(x)

またはprintlnする様な方法もあります。


let x : Int = 123
var str = "\(x)"

文字列が数字かどうかを判断する方法

数字かどうかを判断するにはtoIntがnilになるかどうかで判断できます


        let test = "123";
        if(test.toInt() != nil) {
                  println("---> 数字だった!\(test)");
        }
                    

toIntですので少数点(12.3)だったり文字が含まれている数字(12a等)もnilになります

↓こんな記事もありますよ!

アプリを常にActiveにForegroundにした状態で写真を撮影できるか

写真は音をたてないと撮影できなかったり不便なことが多いのでできるのかよくわかりませんので検証

SQLiteを使いたい。ラッパーを検証してみる。(#2)

前回の記事でSQLiteのラッパのRMDB, SWiftData,SQLite.swiftの検証をトライしまいたが、時間の問題で頓挫してしまいましたので続きです。 。ある程度準備が完了しましたので、それぞれのサンプルを動かしてみてみようと思います。InsertとSelectとインストール感を比較してみます。

WatchKitでタイマーアプリを作成する。

簡単なアプリを作成しながらAppleWatchを学んでいきます。前回の記事で大まかな動きは理解できましたので、 つぎはAppleWatchとアプリとの連携をタイマー機能を利用して検証していきます
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!