Como posso alterar o comportamento DecimalFormat com base no comprimento da entrada?
Eu estou usando o seguinteDecimalFormat
padronizar:
// Use ThreadLocal to ensure thread safety.
private static final ThreadLocal <NumberFormat> numberFormat =
new ThreadLocal <NumberFormat>() {
@Override protected NumberFormat initialValue() {
return new DecimalFormat("#,##0.00");
}
};
Isso realiza as seguintes conversões:
1 -> 1.00
1.1 -> 1.10
1.12 -> 1.12
Agora tenho um requisito adicional.
1.123 -> 1.123
1.1234 -> 1.123
Isso significa que quando
houver menos de duas casas decimais, eu "preencherei" duas casas decimais.existem exatamente duas ou três casas decimais, não farei nada.Se houver mais de três casas decimais, truncarei para três casas decimais.Posso especificar esse comportamento com oDecimalFormat
classe?