2017-09-14 20 views
1

私は、ユーザーが価格を入力する必要があるテキストフィールドを持っています。このテキストフィールドで 私はこの設定でカスタム数値フォーマッタをドラッグ:通貨記号付きカスタムナンバーフォーマッター

enter image description here

これはほぼ完璧に動作しますが、私は「フォーマット」に問題があります。 現時点では:.#.##

最後に正しいユーザー通貨記号を自動的に表示するために変更する必要があるのは何ですか?

答えて

3

を、通貨記号を担当するシンボル¤に興味があります。

だからあなたが探しているフォーマットは,#.## ¤

最終ステップでは、そうでない場合は、テキストフィールドに完全なフォーマットを提供する必要があり、オプションlenientをチェックすることです。

OSX 10.9とiOS 7が詳細

フォーマット文字列は、version 31the Unicode Technical Standard #35からパターンを使用します。

あなたはhere

Apple documentation about number formatters

+0

これは静的な解決策です。ユーザーが€ではなく€を持っている場合はどうなりますか? – Ghost108

+0

最後にシンボルを印刷するためのストーリーボードのユニバーサルメカニズムは何を探していますか? – Raymond

+0

これが可能な場合はyesです。私は '。#。##のようなプレースホルダーがあります。 [通貨記号] ' – Ghost108

0

また、このように数値フォーマッタを使用することができます:あなたはそれを行うための普遍的な方法を探しているなら、あなたは、単に.#.##から.#.## €

にフォーマットを変更することができ、静的な解決のために

let price = 592.12 
let formatter = NumberFormatter() 
formatter.numberStyle = .currency 

//change this to get your desired currency 
formatter.locale = Locale(identifier: "de_DE") 
formatter.maximumFractionDigits = 0; 

let priceText = formatter.string(for: price) 
//priceText = 592,12 € 
+0

はい、プログラム的な方法は私が知っていた解決策です。ストーリーボードの設定で解決する方法もありますか? – Ghost108

+0

これはストーリーボードでは可能ではないと思います。 – Kingalione

+0

もちろんストーリーボードでも可能です。 – Raymond

0

、このバージョンでは、すべての番号形式のパターンを見つけることができますあなたは、フォーマッタが提供するデフォルトの通貨モードを使用するか、追加のカスタム書式設定を行う必要があります:

enter image description here

関連する問題