如何在获取百分比符号时避免UnsupportedOperationException?

时间:2019-05-21 23:20:19

标签: java android decimalformat

我试图获取特定于语言环境的百分比符号。尝试从DecimalFormatSymbols中获取PerPercent时,我的崩溃日志显示“ UnsupportedOperationException”。

我使用给定语言环境的NumberFormat实例,并通过DecimalFormatSymbols getPercent方法获得百分比符号。

       at java.text.DecimalFormatSymbols.getPercent(DecimalFormatSymbols.java:352

我期望特定于语言环境的百分比符号,但是对于某些语言环境,我遇到以下异常

public char getPercent() {
        if (percent.length() == 1) {
            return percent.charAt(0);
        }
        throw new UnsupportedOperationException("Percent spans multiple characters: " + percent);
    }

我检查了DecimalFormatSymbols类的getPercent()方法,

.awpcp-listing-excerpt-extra {
    width: 100%;
}

看起来像百分比符号长度!= 1,这在阿拉伯符号中正在发生。

1 个答案:

答案 0 :(得分:0)

在查看类DecimalFormatSymbols时,方法.getPercent()只会返回一个%符号...

对于阿拉伯语,您可能需要先致电.setPercent("٪"),以便.getPercent()返回٪

在Java中,Character.charCount()等于1