Я использую DecimalFormat для создания форматированного десятичного числа, длина которого всегда составляет 6 символов. Сначала я использовал строку формата new DecimalFormat ("000.00")
, но это дало мне ошибку для отрицательных чисел. Знак минус добавляется и увеличивает пространство номер один, что приводит к -005.25
, а не -05.25
, как хотелось бы.
Мне удалось исправить это с помощью следующего кода
DecimalFormat fmt;
if(netAmt < 0){
fmt = new DecimalFormat("00.00");
}else{
fmt = new DecimalFormat("000.00");
}
System.out.println(fmt.format(netAmt));
Но DecimalFormat имеет символ ;
для форматирования отрицательных чисел иначе, чем положительных чисел. Мне не удалось правильно выполнить эту работу. Насколько я понимаю, следующий код должен работать так же, как и приведенный выше.
DecimalFormat fmt = new DecimalFormat("000.00;00.00");
System.out.println(fmt.format(netAmt));
В результате образец перед ;
используется как для отрицательных, так и для положительных чисел, поэтому ошибка -005,25
остается. Что я делаю неправильно? Я неправильно понимаю, для чего предназначен ;
?