テキストフィールドのテキストを変換しようとしていますが、これは10進数のパッドキーボードのために数字のみにすることができます。Swiftでクラッシュする文字列からダブルに変換
私が働いている変数:
このエラーは、私は「場合にのみ発生します。私は取得しています
static var selectedMoneyMissing: Double = 30.0
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
formatter.roundingMode = .down
let roundedReplacing = formatter.string(from: NSNumber(value: Double(textField.text!.replacingOccurrences(of: ",", with: "."))!))
let roundedReplacingSecond = roundedReplacing.replacingOccurrences(of: " ", with: "")
print(roundedReplacing)
print(roundedReplacingSecond)
FiltersViewController.selectedMoneyMissing = Double(roundedReplacingSecond)!
はエラーが "予期せず.... nilを見つけ"私はそれがroundedReplacingSecond変数が存在する理由である空白のためかもしれないと思った。しかし、それはまだ動作しません(実際には、私はコンソールが "roundedReplacingSecond"変数を空白で印刷しているのか分かりません)。
また、テキストフィールドにはキーボードタイプのために数字だけが含まれているという誤った仮定です。ユーザーは何かを貼り付けることができます。 – Paulw11
このペーストの問題を指摘してくれてありがとう@ Paulw11、私はそれを修正しました。 – RadoJakubes