I am using the following DecimalFormat
template:
// Use ThreadLocal to ensure thread safety. private static final ThreadLocal <NumberFormat> numberFormat = new ThreadLocal <NumberFormat>() { @Override protected NumberFormat initialValue() { return new DecimalFormat("#,##0.00"); } };
This performs the following conversions:
1 -> 1.00 1.1 -> 1.10 1.12 -> 1.12
Now I have an additional requirement.
1.123 -> 1.123 1.1234 -> 1.123
This means that when
- less than two decimal places, I will "work out" up to two decimal places.
- there are exactly two or three decimal places, I wonβt do anything.
- there are more than three decimal places, I truncate to three decimal places.
Can this behavior be specified with the DecimalFormat
class?
java decimal format number-formatting decimalformat
Cheok yan cheng
source share