BigDecimal
と一緒に末尾のゼロを削除する必要がありRoundingMode.HALF_UP
ます。例えば、
Value Output
15.3456 <=> 15.35
15.999 <=> 16 //No trailing zeros.
15.99 <=> 15.99
15.0051 <=> 15.01
15.0001 <=> 15 //No trailing zeros.
15.000000<=> 15 //No trailing zeros.
15.00 <=> 15 //No trailing zeros.
stripTrailingZeros()
動作しますが、次のような状況では科学表記法を返します。
new BigDecimal("600.0").setScale(2, RoundingMode.HALF_UP).stripTrailingZeros();
この場合、 を返します6E+2
。エンドユーザーにとって醜いかもしれないJSFのカスタムコンバーターでこれが必要です。それで、これを行う適切な方法は何ですか?