Das Gebietsschema des arabischen Nummerierungssystems zeigt keine arabischen Zahlen an.

Ich habe diesen Artikel gelesen:nterstützte Gebietsschemas für JDK 8 und JRE, es stand fest, dass:

Nummerierungssysteme können durch ein Sprachkennzeichen mit einer Nummerierungssystem-ID angegeben werden.╔═════════════════════╦══════════════════════╦══════════════════╗ ║ Numbering System ID ║ Numbering System ║ Digit Zero Value ║ ╠═════════════════════╬══════════════════════╬══════════════════╣ ║ arab ║ Arabic-Indic Digits ║ \u0660 ║ ╚═════════════════════╩══════════════════════╩══════════════════╝

Nun, um dies zu demonstrieren, habe ich die folgenden Codes geschrieben:

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));
    }
}

Ich habe erwartet, dass die Ausgabe ungefähr so aussieht:

٠
١٢٣

Die Ausgabe sieht jedoch wie folgt aus:

0
123

Der Hauptzweck ist es, JavaFX GUI so zu gestalten, dass arabische statt englische Zahlen angezeigt werden, da es das Standardgebietsschema verwendet (und ich kann es mit @ einstellenLocale.setDefault(...)).

So ist meine Frage, wie man das Nummerierungssystem im Gebietsschema verwendet, um lokalisierte Zahlen in Java anzuzeigen? Ist es dann möglich, es auf JavaFX anzuwenden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage