Definir a localidade do sistema de numeração arábica não mostra números arábicos
Eu li este artigo:Locais suportados pelo JDK 8 e JRE 8, afirmou que:
Os sistemas de numeração podem ser especificados por uma etiqueta de idioma com um ID do sistema de numeração╔═════════════════════╦══════════════════════╦══════════════════╗ ║ Numbering System ID ║ Numbering System ║ Digit Zero Value ║ ╠═════════════════════╬══════════════════════╬══════════════════╣ ║ arab ║ Arabic-Indic Digits ║ \u0660 ║ ╚═════════════════════╩══════════════════════╩══════════════════╝
Agora, para demonstrar isso, escrevi os seguintes códigos:
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.Locale;
public class Main
{
public static void main(String[] args)
{
Locale locale = new Locale("ar", "sa", "arab");
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(locale);
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
System.out.println(dfs.getZeroDigit());
System.out.println(numberFormat.format(123));
}
}
Eu esperava que a saída fosse algo como:
٠
١٢٣
No entanto, a saída é a seguinte:
0
123
O principal objetivo disso é fazer com que o JavaFX GUI mostre números em árabe em vez de números em inglês, pois ele usa o código do idioma padrão (e eu posso configurá-lo comLocale.setDefault(...)
)
Então, minha pergunta é: como usar o sistema de numeração no código do idioma para mostrar números localizados em Java? Então, é possível aplicá-lo no JavaFX?