私はフロントエンドではJavascript、中間層ではC#、DBではOracle 9iを使用します。通貨番号をフォーマットするのに最適なレイヤーは何ですか?
小数点2桁の数値を通貨にフォーマットするときのベストプラクティスは何ですか?そして、これらの3つの層のうち、どの層を優先すべきですか?
ユーザは、アプリケーションのいくつかの画面でこれらの金額を編集できることを覚えておいてください。
私はフロントエンドではJavascript、中間層ではC#、DBではOracle 9iを使用します。通貨番号をフォーマットするのに最適なレイヤーは何ですか?
小数点2桁の数値を通貨にフォーマットするときのベストプラクティスは何ですか?そして、これらの3つの層のうち、どの層を優先すべきですか?
ユーザは、アプリケーションのいくつかの画面でこれらの金額を編集できることを覚えておいてください。
小数点の格納は2桁以上の精度で行うことができます。 C#とJavascriptについて言及して以来、私はフロントエンドにASP.NETを使用していると推測できます。
お客様のロケール/ cultureinfoに基づいて表示するには、通貨の表示をASP.NETコードで処理する必要があります。
グリッドビューやその他の表示コントロールの場合、C#では、文字列書式オプション{0:c}
を使用して、正しい記号と小数点以下2桁の通貨を表示できます。
私はそれが実用的であるので、ユーザーに近いと言います。とにかくデータベースにはないので、DBはユーザーのロケールを認識しません。
更新:実際に正しい情報をユーザーに表示する通貨書式設定を行うときは注意してください。通貨の書式設定は、通貨換算と同じではありません。
データに対して数学演算を実行する場合は、JavaScriptで書式設定を行い、通貨記号を追加する方がはるかに良いでしょう。
おそらくあなたはすでに認識しているかもしれませんが、すべての通貨は2小数点を使用しません。それは0から3まで変化します(多分4でも - 私は確信していません)。たとえば、円は小数点を使用しません。私がデータベースに通貨データを保存しなければならなかったとき、私は正確に4小数を格納できるデータ型を選択しました。 – waxwing
Thx。それでは、通貨タイプをDBに保存することも便利だと思います。したがって、値/キー(金額/記号)のペアを使用する場合は、中間層を使用して値を変換するか、プレゼンテーション層で大規模なスクリプトを使用できます。 – Obaid