[解決済み] Swift で文字列を浮動小数点に変換する
質問
UITextFieldから取得した数値(実際にはStringであると推測される)をFloatに変換し、乗算できるようにしようとしています。
2つの
UITextfield
があり、それらは次のように宣言されています。
@IBOutlet var wage: UITextField
@IBOutlet var hour: UITextField
ユーザーがUIButtonを押したときに、ユーザーが稼いだ賃金を計算したいのですが、使用する前にまずfloatに変換する必要があるため、できません。
この方法で整数に変換する方法は知っています。
var wageConversion:Int = 0
wageConversion = wage.text.toInt()!
しかし、それらをfloatに変換する方法がわかりません。
どのように解決するのですか?
Swift 2.0以上
現在では
Swift 2.0
を使うことができます。
Float(Wage.text)
を返します。
Float?
型を返します。を返すだけである以下の解決策よりも、より明確です。
0
.
もしあなたが
0
の値が必要な場合、無効な
Float
を使用することができます。
Float(Wage.text) ?? 0
を返すと
0
でない場合は
Float
.
旧ソリューション
これを処理する最良の方法は、ダイレクトキャストです。
var WageConversion = (Wage.text as NSString).floatValue
実際に作ったのは
extension
を作り、これもうまく使えるようにしました。
extension String {
var floatValue: Float {
return (self as NSString).floatValue
}
}
これで
var WageConversion = Wage.text.floatValue
を呼び出すだけで、エクステンションがブリッジを処理してくれるようになります!
この実装は、実際の浮動小数点数(
.
で入力)、また、ユーザーがテキストを入力フィールドにコピーするのを防ぐのにも役立つので、良い実装です(
12p.34
または、さらに
12.12.41
).
明らかに、もし Apple が
floatValue
を追加した場合、これは例外を投げますが、その間に良いことがあるかもしれません。もし後で追加されるのであれば、コードを修正するために必要なことは、拡張機能を削除することで、すべてがシームレスに動作します。
.floatValue
!
また、変数や定数は小文字で始める必要があります(例えば
IBOutlets
)
関連
-
[解決済み] Luaで文字列がnilまたは空でないかをチェックする
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Haskellで文字列を分割する方法は?
-
[解決済み] ある文字列が他の文字列を含んでいるかどうかをチェックする
-
[解決済み] golangの[]stringと...stringの違いは何ですか?
-
[解決済み] VBScriptにはsubstring()関数がありますか?
-
[解決済み] OCamlでcharから文字列に変換する
-
[解決済み】Goで一定の長さのランダムな文字列を生成するには?
-
[解決済み】シェルスクリプト - 変数から最初と最後の引用符 (") を削除します。
-
[解決済み】Java7で文字列からパスを作成する。
-
[解決済み] sqliteでパディングを含む文字列を連結する方法
-
[解決済み] ファイルを文字列として要求する