2016-08-24 10 views
0

私はUITextFieldを入力しています。 フィールド番号をlocale通貨フォーマットにして、入力した数字を押し上げて持ち上げたい。 私は自分自身を明確にしたいと思っています。私は何時間もサイトを調査しましたが、実行可能なソリューションを手に入れることはできません。ユーザタイプとしてテキストフィールドを通貨フォーマットにフォーマットする必要があります

OKこれまで私は解決策に近づいてきました。私はUITextFieldDelegateを実装し、次のコードを使用しました。

これは最初に問題なく動作し、フィールドをクリアして毎回新しい番号を入力する限り有効です。しかし、以前に入力して使用した番号を単に使用すると、アプリがクラッシュします。私は、EnterText.textが通貨フォーマットになっていることに気付き、フィールドが新しいフォーマットで再利用されるとアプリケーションがクラッシュします。私の質問は、それが複数回再利用されるようにフィールドから$とコンマを削除する方法です。どんな助けもありがとう。

let curr = NumberFormatter() 
    curr.usesGroupingSeparator = true 
    curr.numberStyle = NumberFormatter.Style.currency 
    curr.locale = NSLocale.current 

    EnterText.text = curr.string(from: Int(EnterText.text!)!) 
+0

私はSwift 3を使用しています。 –

答えて

0

私はあなたが通貨フォーマットのものにあなたのテキストを変換するためにNSNumberformatterを使用することができると信じています。

ユーザータイプとして実行するには、shouldchangecharactersinデリゲートメソッドで試してみてください。

これはおそらく1つの解決策である可能性があります。

+0

Swiftの新機能として、コードをどのように実装するのか本当にわかりません。どんな助けもありがとう –

関連する問題