Я хочу преобразовать числовое значение в строку, отображая цифры, специфичные для конкретной культуры. Например, язык Дари, используемый в Афганистане (название культуры "prs-AF" ), использует восточно-арабские цифры вместо арабские цифры, используемые в большинстве западных культур (0,1,2,3,4,5,6,7,8,9
).
При изучении класса CultureInfo, встроенного в Framework, в нем перечислены правильные собственные цифры (снимок экрана, сделанный с вывода в LinqPad):
CultureInfo.CreateSpecificCulture("prs-AF").NumberFormat.NativeDigits
Однако при попытке конвертировать число в строку, отображаемую в этой культуре, я не получаю собственные цифры:
var number = 123.5;
var culture = CultureInfo.CreateSpecificCulture("prs-AF");
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
var text = number.ToString(culture);
Console.WriteLine(text);
Может ли кто-нибудь сказать мне, как отображать собственные цифры?