Я использую следующий DecimalFormat
шаблон:
// Use ThreadLocal to ensure thread safety.
private static final ThreadLocal <NumberFormat> numberFormat =
new ThreadLocal <NumberFormat>() {
@Override protected NumberFormat initialValue() {
return new DecimalFormat("#,##0.00");
}
};
Выполняет следующие преобразования:
1 -> 1.00
1.1 -> 1.10
1.12 -> 1.12
У меня теперь есть дополнительное требование.
1.123 -> 1.123
1.1234 -> 1.123
Это означает, что когда
- там меньше двух знаков после запятой, я добавлю два знака после запятой.
- есть ровно два или три знака после запятой, я ничего не буду делать.
- есть более трех знаков после запятой, я урежу до трех знаков после запятой.
Можно ли указать это поведение с классом DecimalFormat
?