如何在获取百分号时避免 UnsupportedOperationException?
How to avoid UnsupportedOperationException while getting percent symbols?
我试图获取特定于语言环境的百分比符号。我的崩溃日志在尝试从 DecimalFormatSymbols 获取百分比时显示 "UnsupportedOperationException"。
我为给定的语言环境使用了 NumberFormat 实例,并通过 DecimalFormatSymbols getPercent 方法获得了百分比符号。
{
DecimalFormat decimalFormat = (DecimalFormat)NumberFormat.getInstance(currentLocale);
return String.valueOf(decimalFormat.getDecimalFormatSymbols().getPercent());
}
我期待特定于语言环境的百分比符号,但对于某些语言环境,我收到以下异常
at java.text.DecimalFormatSymbols.getPercent(DecimalFormatSymbols.java:352
我检查了 DecimalFormatSymbols class getPercent() 方法,
public char getPercent() {
if (percent.length() == 1) {
return percent.charAt(0);
}
throw new UnsupportedOperationException("Percent spans multiple characters: " + percent);
}
看起来百分比符号长度 != 1,它发生在阿拉伯符号上。
当查看 class DecimalFormatSymbols 时,方法 .getPercent()
只是 return 一个 %
符号...
对于阿拉伯语,您可能需要先调用 .setPercent("٪")
,这样 .getPercent()
就会 return ٪
.
在Java中,Character.charCount()
等于1
。
我试图获取特定于语言环境的百分比符号。我的崩溃日志在尝试从 DecimalFormatSymbols 获取百分比时显示 "UnsupportedOperationException"。
我为给定的语言环境使用了 NumberFormat 实例,并通过 DecimalFormatSymbols getPercent 方法获得了百分比符号。
{
DecimalFormat decimalFormat = (DecimalFormat)NumberFormat.getInstance(currentLocale);
return String.valueOf(decimalFormat.getDecimalFormatSymbols().getPercent());
}
我期待特定于语言环境的百分比符号,但对于某些语言环境,我收到以下异常
at java.text.DecimalFormatSymbols.getPercent(DecimalFormatSymbols.java:352
我检查了 DecimalFormatSymbols class getPercent() 方法,
public char getPercent() {
if (percent.length() == 1) {
return percent.charAt(0);
}
throw new UnsupportedOperationException("Percent spans multiple characters: " + percent);
}
看起来百分比符号长度 != 1,它发生在阿拉伯符号上。
当查看 class DecimalFormatSymbols 时,方法 .getPercent()
只是 return 一个 %
符号...
对于阿拉伯语,您可能需要先调用 .setPercent("٪")
,这样 .getPercent()
就会 return ٪
.
在Java中,Character.charCount()
等于1
。