Swift - 文字列をDouble Ask Questionに変換する方法

Swift - 文字列をDouble Ask Questionに変換する方法

私は Swift 言語で BMI プログラムを作成しようとしています。そして、次のような問題が発生しました: String を Double に変換するにはどうすればよいでしょうか?

Objective-C では、次のようにできます。

double myDouble = [myString doubleValue];

しかし、Swift 言語でこれをどのように実現できるのでしょうか?

ベストアンサー1

Swift 2 アップデートでは、これをより慣用的かつ安全な方法で実行できる新しい failable イニシャライザがあります (多くの回答で指摘されているように、NSString の double 値は数値以外の値に対して 0 を返すため、あまり安全ではありません。つまり、とdoubleValue"foo"同じ"0"です)。

let myDouble = Double(myString)

"foo"これはオプションを返すので、 を渡すとdoubleValue0が返されるような場合、失敗可能な初期化子は を返します。 、、 のいずれかをnil使用して、guardif-letmapOptional<Double>

元の投稿:受け入れられた回答が提案しているように、NSString コンストラクターを使用する必要はありません。次のように簡単にブリッジできます。

(swiftString as NSString).doubleValue

おすすめ記事