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-05-14 14:21:41 | WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。
AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、
昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は... |
2021-05-06 14:04:37 | LINEのアニメーションスタンプ制作の落とし穴、、、失敗談
ゴールデンウィークにLINEスタンプを作成してみました。
作り切って申請も通したんですが、意図したアニメーションと違う、、、、
LINEクリエーターの画面だと、アニメーションのプレビュー... |
2021-05-01 18:05:35 | 久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。
忘れないようにメモ
エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。
ターゲット→ex... |
Tweet | |||
|