5

Java は、特定のロケールに応じて主要な記号を使用して通貨をフォーマットする優れた方法を提供します。たとえば、指定された通貨が米ドルの場合、米国および英国のロケールに対してそれぞれ$0.35またはを達成できます。USD0.35それは本当にいいです。

それにもかかわらず、場合によっては、通貨の金額を別の形式でフォーマットする必要があります。つまり、マイナーな通貨記号を使用した、よりユーザーフレンドリーなスタイルです。たとえば、35¢または35c上記の例の代わりに。ウィキペディアに次のようにも書かれています。

1 セントから 99 セントまでのセント金額は、1 桁または 2 桁の数字とそれに続く適切な略語 (2¢、5¢、75¢、99¢) で表すことができます。

ただし、JDK を使用してこのスタイルで金額をフォーマットする方法が見つかりません。私はすでに で遊んでみましたDecimalFormatSymbolsが、これは主要な通貨記号を構成することしかできないためDecimalFormat、元の形式を使用しているため、¢35うまくいきません。また、順序を修正するためのカスタム フォーマット文字列は、ロケール/言語/国に依存しない場合があります (スペースの間? 接頭辞または接尾辞の表記?)。Joda MoneyとそのMoneyFormatterにも、この機能がないようです。

小通貨記号を使用して金額をフォーマットする良い方法はありますか? 前もって感謝します。

PS 「メジャー」と「マイナー」という言葉がここで適切かどうかはわかりません。

4

1 に答える 1