[解決済み] SwiftのNSNumberFormatterを使った通貨入力の書式設定
2023-04-24 09:48:09
質問
予算と取引を入力するアプリを作成しています。私は、ユーザーが別々のテキストフィールドからペンスとポンドの両方を入力できるようにする必要があり、それらは通貨記号と一緒にフォーマットされる必要があります。現在、この機能は正常に動作していますが、現在GBPでしか動作しないため、ローカライズしたいと考えています。私は、NSNumberFormatterの例をObjective-CからSwiftに変換するのに苦労しています。
私の最初の問題は、入力フィールドのプレースホルダーをユーザーの場所に固有のものに設定する必要があるという事実です。たとえば、ポンドとペンス、ドルとセントなどです。
2 つ目の問題は、10216 や 32 などの各テキストフィールドに入力された値をフォーマットし、ユーザーの所在地に固有の通貨記号を追加する必要があることです。つまり、£10,216.32 や $10,216.32 などとなるわけです。
また、フォーマットされた数値の結果を計算で使用する必要があります。通貨記号の問題に直面することなく、これを行うにはどうしたらよいでしょうか。
どのように解決するのですか?
Swift 3での使い方の例です。 ( 編集 : Swift 5でも動作します )
let price = 123.436 as NSNumber
let formatter = NumberFormatter()
formatter.numberStyle = .currency
// formatter.locale = NSLocale.currentLocale() // This is the default
// In Swift 4, this ^ was renamed to simply NSLocale.current
formatter.string(from: price) // "$123.44"
formatter.locale = Locale(identifier: "es_CL")
formatter.string(from: price) // $123"
formatter.locale = Locale(identifier: "es_ES")
formatter.string(from: price) // "123,44 €"
Swift 2での使い方の古い例です。
let price = 123.436
let formatter = NSNumberFormatter()
formatter.numberStyle = .CurrencyStyle
// formatter.locale = NSLocale.currentLocale() // This is the default
formatter.stringFromNumber(price) // "$123.44"
formatter.locale = NSLocale(localeIdentifier: "es_CL")
formatter.stringFromNumber(price) // $123"
formatter.locale = NSLocale(localeIdentifier: "es_ES")
formatter.stringFromNumber(price) // "123,44 €"
関連
-
Swift の Optional 値 && Optional のアンラップ時に予期せず nil が検出された場合の説明
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Swiftスクリプトでターミナルコマンドを実行するには?(例:xcodebuild)
-
[解決済み] Swiftでenumの関連値を無視して比較する方法は?
-
[解決済み] Swiftのif letと論理AND演算子&&の使い分け
-
[解決済み] swift で文字列から数字以外の文字を削除する
-
[解決済み] Swiftの網羅的なSwitchステートメントのためのNoop
-
[解決済み] NSDateを使用して曜日を取得する
-
[解決済み] Swift で CGFloat を切り上げる
-
[解決済み] Swiftで汎用プロトコルを作成するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラス 'ViewController' は swift で初期化されません。
-
[解決済み] Swift - 複数条件でオブジェクトの配列を並べ替える
-
[解決済み] プロパティの型が内部型を使用しているため、publicを宣言することができない
-
[解決済み] SHA256 in swift
-
[解決済み] Swift- Remove Push Notification Badge number?
-
[解決済み] Swift で型に表示されるテキスト表現を変更するにはどうしたらいいですか?
-
[解決済み] SwiftUI のテキストのフォントサイズをカスタマイズする
-
[解決済み] swift 3.0 Data to String?
-
[解決済み] Xcode playgrounds が Sources フォルダにある swift ファイルにアクセスできない。
-
[解決済み] iOS 9のスワイプ可能なテーブルビューセル