Вставка пользовательской строки между числом и десятичной дробью - Java DecimalFormat - PullRequest
0 голосов
/ 27 октября 2011

Привет и заранее спасибо за помощь.

У меня возникли некоторые проблемы при форматировании с использованием функции Java для разметки цены в HTML.

Кажется, что независимо от того, что я делаю, я не могу вставить пользовательский контент между цифрами и десятичной дробью (выбрасывает исключение Illegal Argument Exception). Есть ли какой-нибудь известный способ добиться следующего:

NumberFormat nf = getNumberFormat("'<span class=\"dollars\">'##'</span></span class=\"decimal\">'.'</span></span class=\"cents\">'00'</span>'", locale);
nf.format(number);

Предположим, что язык и номер правильно инициализированы.

Ответы [ 2 ]

1 голос
/ 27 октября 2011

Если вы посмотрите на документы для DecimalFormat, вы увидите, что они говорят о префиксе и тексте суффикса - но не помещают произвольный текст в число.

Похоже, вы должны написать этот бит форматирования самостоятельно - возможно, используя DecimalFormat для каждой секции числа.

0 голосов
/ 27 октября 2011

Вы можете рассмотреть возможность использования String.format (String pattern, Object ... arguments). Вы можете передать свои просто отформатированные числа в качестве аргументов.

...