Отключить подстановку цифр - PullRequest
11 голосов
/ 11 июня 2010

Как полностью отключить подстановку цифр (например, для хинди вместо арабских) для моего приложения (нативный c ++)?

Я хочу, чтобы все числа отображались с 0123 вместо 100

В настройках локализации в Windows есть опция, но я не хочу ее менять для пользователя. Только для моего приложения.

Спасибо!

Ответы [ 3 ]

1 голос
/ 11 июня 2010

Не уверен, что это будет работать, но попробуйте вызвать SetLocalInfo с параметром LCType, установленным на LOCALE_IDIGITSUBSTITUTION. Взгляните на документацию MSDN для GetLocalInfo и SetLocalInfo. Кажется, невозможно изменить все значения программно, также я не уверен, повлияет ли это только на активный процесс. Надеюсь, это поможет!

1 голос
/ 12 сентября 2013

С незначительными типографскими последствиями вы можете использовать символы U + FF1x вместо U + 003x.

1 голос
/ 11 июня 2010

Немного смущен тем, что вы говорите на родном C ++ и все еще имеете тег WinForms ...

Если предположить, что это родное приложение C ++ без .Net, я бы посмотрел на функцию SetThreadLocale, как описано здесь .

...