Настройка локали арабской системы нумерации не показывает арабские цифры
Я прочитал эту статью:JDK 8 и JRE 8 Поддерживаемые локалион заявил, что:
Системы нумерации могут быть указаны языковым тегом с идентификатором системы нумерации╔═════════════════════╦══════════════════════╦══════════════════╗ ║ Numbering System ID ║ Numbering System ║ Digit Zero Value ║ ╠═════════════════════╬══════════════════════╬══════════════════╣ ║ arab ║ Arabic-Indic Digits ║ \u0660 ║ ╚═════════════════════╩══════════════════════╩══════════════════╝
Теперь, чтобы продемонстрировать это, я написал следующие коды:
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));
}
}
Я ожидал, что результат будет примерно таким:
٠
123
Тем не менее, вывод выглядит следующим образом:
0
123
Основная цель этого - сделать графический интерфейс JavaFX, показывающий арабские цифры вместо английских, так как он использует локаль по умолчанию (и я могу установить ее с помощьюLocale.setDefault(...)
).
Итак, мой вопрос, как использовать систему нумерации в локали для отображения локализованных номеров в Java? Тогда возможно ли применить его на JavaFX?