bill[p][l][0] = new DecimalFormat("##.##").format(Double.parseDouble(i2[m][0]));
Введенный выше код не работает; вход 10.0
дает 10
как выход.Отображать только 2 цифры после десятичных знаков
bill[p][l][0] = new DecimalFormat("##.##").format(Double.parseDouble(i2[m][0]));
Введенный выше код не работает; вход 10.0
дает 10
как выход.Отображать только 2 цифры после десятичных знаков
Он работает - означает, что цифра печатается только в том случае, если она имеет значение (см. documentation). Попробуйте использовать
bill[p][l][0] = new DecimalFormat("##.00").format(Double.parseDouble(i2[m][0]));
поблагодарить u frnds за его работу –
bill [p] [l] [0] = новый формат DecimalFormat ("0.00"). (Double.parseDouble (i2 [m] [0])); –
Для форматирования ровно до двух знаков после запятой следует использовать ##.00
в ##.##
удалит конечные нули из значения.
Если вы хотите обрабатывать как положительные, так и отрицательные числа, я бы рекомендовал использовать BigDecimal
, так как Double
технически не имеет десятичных значений для усечения. Попробуйте что-то вроде этого:
new BigDecimal(i2[m][0]).setScale(2, BigDecimal.ROUND_FLOOR)
K спасибо, я попробовал –
Что такое счет ??? – Adam
Вы пробовали 'DecimalFormat (" 0.00 ")'? –
Это переменная массива строк –