私は質問を見回しましたが、異なる通貨での価格のフォーマットは繰り返し発生する問題のようです。この問題のバリエーションが発生しました。
価格の金額を表示するためのフォーマットを理解しました(例:amount currencyCode
)。たとえば、1 EURは約25000 VNDの価値があるため、私の金額は通貨によって異なります。そのため、私のアイテム(特定の範囲の値(10〜100ユーロ)のアイテムを扱っています)は10 EUR
および約250000 VND
として表示され、表示するときに非常に異なるサイズを示します。また、金額の小数部分は無視します。
したがって、私の質問は、期待できる金額の最大長はありますか(私の表示戦略はどの公式通貨でも有効であり、金額は1 USDに相当すると考えています)ですか?または、既知の表示戦略がありますか(おそらくベトナムでは、何千ものドンの数だけを表示し、ドンの数は表示しません)。
異なるWebサイトは異なる答えを与えます。 this および this を参照してください。
問題の一部は、それが常に変化していることです。そのため、数値を想定しない方がよいでしょう。現在のところドンが最も高いようですが、他の通貨は過去により高くなっています。
6,000,000,000(6 * 10 ^ 9)の金元硬貨は1949年に新疆省銀行から発行され、1923年にドイツでは1億、000,000,000,000(10 ^ 14)のマーク紙幣がありました。上記の写真のハンガリーペンギは、2,000,000,000,000,000,000,000(2 * 10 ^ 21)の値に達しました。
もちろん、これらの増加は極端に不安定な時期に発生しました。アプリケーションを、第三次世界大戦の敗北側の通貨で機能するように設計する必要がないと判断する場合があります。また、それらの国の多くの人々は、より安定した外貨での購入に切り替えます。
私の意見では、より長い通貨に短縮戦略を適用しないでください。可能な限り最大のケースと最小のケースを見つけて、両方のケースに合うようにエクスペリエンスを設計するか、各国のローカライズバージョンを構築している場合は、通貨ごとに2つのバリエーションを作成してください。
文字数が1〜6のフィールドに固定幅を実装しようとしているようです。使用すると、ビューに不要なスペースができ、ユーザーエクスペリエンスが低下します。あなたの例からあなたが表示するでしょう:
The price for this item is 10 EUR.
The price for this item is 250'000 VND.
amount
フィールドの最大文字数を見つける代わりに、開発者はコンテンツの動的レンダリングを実装することがよくあります。読みやすくなるだけでなく、予想外の大きなインフレがあったとしても、システムが機能するようになります。為替レートは日々変化しており、その可能性にも対処する必要があります。