Как передать десятичному формату два буквенных символа подряд? - PullRequest
0 голосов
/ 10 марта 2019

Я хочу отформатировать число 1234,5678 как ($ 1234,57)

Итак, я передаю строку форматирования '(' '$' #, ## 0.00 ')'

Но это дает мне ('1 234,57 $)

Я предполагаю, что два апострофа заменяются на буквальное «и» после употребления $.

Итак, как мне вставить строку ($ в шаблон?

1 Ответ

0 голосов
/ 10 марта 2019

Обычно ($ и ) не обрабатываются DecimalFormat как специальный символ, поскольку они не имеют значения внутри выражения.

Если вы, например, используете #,тогда имеет смысл использовать '#'

См. Javadoc

'Используется для кавычек специальных символов в префиксе или суффиксе, например, в форматах "' # '#"123 до "# 123".Чтобы создать одиночную кавычку, используйте две строки подряд: "# o''clock".

Следующее отлично работает

DecimalFormat decimalFormat = new DecimalFormat("($#,##0.00)");
System.out.println(decimalFormat.format(1234.5678)); // ($1,234.57)
...