Is there any way to truncate the negative sign when the result returns zero; while using decimal format?
DecimalFormat df = new DecimalFormat("#,##0.0");
df.setRoundingMode(RoundingMode.HALF_UP);
formattedValue = df.format("-0.023");
The above code returns -0.0 . Is there any way by which it will return only 0.0? However, I want to retain the negative sign when the result is a negative number.
I don’t think there’s a way of doing it just with
DecimalFormat, but this one-liner takes care of the problem:It removes (replaces with
"") the minus sign if it’s followed by 0-n characters of"0.00000...", so this will work for any similar result such as"-0","-0."or"-0.000000000"Here’s some test code:
Output (as expected):