【新サービス告知】いつでもどこでもイベントを開催できる。スマホのWebカメラを利用したVRイベントスペースサービス(Meetatcube.com)
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

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

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になります

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


2021-04-22 14:54:53

かっこいいカルーセル厳選3点!WebGLを使った渋い画像スライダー。

昨日カッコいいスライダーを探す旅にでていました。 よく使われるswiper など、シンプルで使いやすくデザインも良いのですが、何かもの足りない、、、。 そこで調べていくと、webglを使...

2021-04-20 14:46:43

Twillioとは何??skywayとは何が違うのか。webrtcを使う際に判断する情報。

先日webrtc開発で「twillio」といった名前を聞きました。 以前自分でskywayを使ってwebrtcを試していた際に調べた時には、無かったような気もするんだけと、KDDIが絡んでいる...

2021-04-19 13:58:21

先日久々にアップデートした妊娠週刊パパのAndroid版も。アカウント移管したいんだけど、注文ID見当たらないよ。

先日の妊娠、出産、育児関連のアプリ「妊娠週刊パパ」をAndroid studioで再リリースしようと思ってるんだけど、コンパイル失敗してエミュレータで動かせない。 多分sdkとかapiのバージ...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!