17

以下にリストされているシナリオのベスト プラクティスは何ですか?

複数の通貨をサポートしたいアプリケーションがあります。ソフトウェアは、ユーザーのロケールと地域の設定を考慮して、正しい数値形式 ($10,000.00 または 10.000,00₴ など) を決定します。

ただし、通貨 ID (おそらく 3 文字の ISO4217 コード) に基づいてさまざまな数値をフォーマットできるようにしたいと考えています。私たちのアイデアは、データベースに各通貨のテーブルを保存し、使用する通貨記号を選択するようにユーザーに要求することです。プログラムは、ロケール/地域の設定に基づいてすべての数値をフォーマットしますが、プログラムで定義されている通貨記号を使用します。

したがって、次の値と通貨を考えると、
10000 AUD
5989.34 USD
450 EUR

プログラムは
$
10,000.00 $5,989.34
€450.00 を出力します

または、数値を #####,##$ としてフォーマットする地域設定では、結果は次のようになります。
10000,00$
5989,34$
450,00€

ロケール/地域番号の形式を尊重しながら異なる通貨を表示する場合、これに対するベスト プラクティスは何ですか?

これが理にかなっていることを願っています。

使用されるテクノロジーは c# .NET 2.0 です。

4

5 に答える 5

3

データをフォーマットするためのベスト プラクティスを把握しているようです。私があなただったら、技術的に何が標準であるかについてはあまり心配せず、ユーザーが慣れ親しんでいることにもっと集中するでしょう。

ユーザーがさまざまな通貨にかなり精通している市場で事業を行っている場合、単一文化のユーザーが多い場合とはまったく異なります。場合によっては、別の方法でインターフェイスを設計する必要があります。

さらに、任意の通貨を任意のロケールで表示する必要がある場合は ISO4217標準最適です。これは、世界中の外貨両替店、外貨両替所、請求書などに表示されているものです。それ以外の場合、通貨記号を表示すると一部のユーザーが混乱する可能性があり、記号だけでは金額が実際にどの通貨であるかを示しません。

次のSOの質問も参照します。それらのすべてがあなたの問題に直接関係しているわけではありませんが、複数の通貨のサポートに関連する問題について非常に優れたメタ ディスカッションが行われています。

于 2009-04-24T09:37:43.153 に答える
0

通貨の値を 10 進数として格納し、UI に通貨記号を追加できます。

Fowler は、こちらのエンタープライズ アプリケーション アーキテクチャのパターンでMoney パターンについて説明しています: http://www.martinfowler.com/eaaCatalog/money.html

于 2009-04-24T07:07:53.653 に答える