0

私はSOを見てきましたが、私のような質問に対する答えは見つかりませんでした.

ロケールに応じて通貨をフォーマットする必要があります。

例:

私は金額を持っており11349、私のロケールは米国のどこかにあります. CMS から取得した形式は次のようになります。$#,##0.00

このテンプレートを使用して、金額「11349」を次のように取得する必要があります。$11,349.00

誰もこれにアプローチする方法を知っていますか? これに対処する SO に関する質問が既にある場合は、申し訳ありませんが、見つかりませんでした。ご指摘いただければ幸いです。

4

3 に答える 3

4

NumberFormatは、質問に従ってフォーマットをサポートLocalesおよび生成し、さらに正規表現の使用を回避します。

Locale locale = new Locale("en", "US");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
System.out.println(fmt.format(11349));  
于 2013-08-16T13:01:33.687 に答える
1

ロケールが米国の場合、必要な結果が得られるはずです

    String s = new DecimalFormat("$#,##0.00").format(11348);
于 2013-08-16T13:15:15.167 に答える
0

Use Locale("en", "US")

Locale locale = new Locale("en", "US");
NumberFormat nf = NumberFormat.getCurrencyInstance(locale); //getting currency
System.out.println(nf.format("11349")); //cast string to numberFormat 

次に、次のような出力が得られます

$11,349.00
于 2013-08-16T13:02:41.830 に答える