Я пытался получить символ процента, специфичный для локали.Мои журналы сбоев показывают «UnsupportedOperationException» при попытке получить getPercent из DecimalFormatSymbols.
Я использовал экземпляр NumberFormat для данной локали и получил символ процента с помощью метода getPercent DecimalFormatSymbols.
{
DecimalFormat decimalFormat = (DecimalFormat)NumberFormat.getInstance(currentLocale);
return String.valueOf(decimalFormat.getDecimalFormatSymbols().getPercent());
}
Я ожидалсимвол процента, специфичный для локали, но для некоторых локалей я получаю следующее исключение
at java.text.DecimalFormatSymbols.getPercent(DecimalFormatSymbols.java:352
Я проверил метод getPercent () класса DecimalFormatSymbols,
public char getPercent() {
if (percent.length() == 1) {
return percent.charAt(0);
}
throw new UnsupportedOperationException("Percent spans multiple characters: " + percent);
}
Похож на символ процентаlength! = 1, это происходит для арабских символов.