1

他の人が同じ質問をしたかどうかわかりません。私は今までstackoverflowでこの質問を見たことがないので、同じを投稿します。番号の書式設定時に通貨記号を配置する場所を決定する方法は?

通貨に基づいて番号をフォーマットする必要があるという要件があります。

enter image description here

私はあなたに私の質問の多くのコンテキストを与えるために、上記の表を説明しましょう。 UnitedStatesの場合、数字はUSD976,543.21のように書式設定されています。ここでは、通貨記号はUSDの前に数字の前に置かれています。これはfr-FRロケールでは少し異なります。シンボルは数字の後に置かれます。

すべての書式設定はフロントエンドで行われており、バックエンドでは行われていません。私はFEに#の形式でフォーマットを与えています。その後、自家製コードはそのフォーマットの数字をフォーマットします。例として、米国の場合、私はUSD ###、###、###。####を提供しています。ここでは、フロントエンドが同じ情報を即座にフォーマットできるように、フロントエンドに以下の情報を伝える必要があります。 私の質問は:番号のまたは終了に向けた

  1. が通貨を配置し、スタート: は、以下のバックエンドの情報を取得する方法はありますか?
  2. 数字と記号の間にスペースはありますか? USD976,543.21と976 543,21€を見てください。ユーロの通貨記号と通貨記号の間にはスペースがありますが、米ドルの通貨記号はありません。

私はjava.util.Currencyを使用しています。

答えて

0

あなたはそれがで開始する非常に簡単です、あなたが心配する必要はありません公式のUnicode CLDR JSONデータを活用し、国際化とローカライズのためのあなたの条件

A JavaScriptライブラリ

ためGlobalizejsを使用することができます通貨コードを前または最後に置く。図書館は、ロケールとcurrencyCodeに従って注意を払う。

例:異なるロケールで

var formatter; 

Globalize.locale("en"); 
formatter = Globalize.currencyFormatter("USD"); 

formatter(9.99); 
// > "$9.99" 

var deFormatter = Globalize("de").currencyFormatter("EUR"); 
deFormatter(9.99); 
// > "9,99 €" 

enter image description here

+0

私は質問には、Javaだったとは思わないのJavaScript ... – Adam

+0

ははい、私はそれを読みますが、この行はすべての私の書式は、フロントエンドで起こっている 'とないbackend.'が私の目を引きました。それで彼には容易に進化した解決策が与えられました。 :) –

+0

ありがとうございました@NeerajJainあなたのコメントのために。私は数字の書式設定を行う自家製コードを持っています。私が欠けているのは、私が質問で尋ねた2つの質問です。どのように通貨記号の配置を決定することができます、それは最初または最後ですか?通貨コードとシンボルの間にスペースがありますか? – nimi

0

NumberFormat.getCurrencyInstance()は、特定のロケールの通貨に応じて番号をフォーマットするために使用することができますバックエンドでまた、書式化された通貨をレンダリングのためにFEに渡すことができます。たとえば:

double num = 976_543.21; 

    NumberFormat defaultFormat = NumberFormat.getCurrencyInstance(new Locale("fr","FR")); 
    System.out.println(defaultFormat.format(num)); //output 976 543,21 € 

    Locale us = new Locale("en", "US"); 
    NumberFormat usFormat = NumberFormat.getCurrencyInstance(us); 
    System.out.println(usFormat.format(num)); //output $976,543.21 
+0

フロントエンドで書式設定を行う必要がある場合は、BEで数値書式設定を行っていません。そうするためには、私はもっと多くのものが必要です。1.通貨をどこに置くか、数字の始まりか終わりに向かって、どうすればこれを決めることができますか? 2.数字と記号の間にスペースがないか。 – nimi

関連する問題