11

如何完全禁用我的应用程序(本机 c++)的数字替换(例如印地语数字而不是阿拉伯数字)?

我希望所有数字都显示为 0123 而不是 ٠١٢٣

Windows 中的本地化选项中有一个选项,但我不想为用户更改它。仅适用于我的应用程序。

谢谢!

4

3 回答 3

1

Not sure if it'll work, but try to call SetLocalInfo with the LCType parameter set to LOCALE_IDIGITSUBSTITUTION. Take a look at the MSDN documentation for GetLocalInfo and SetLocalInfo. It does not seem to be possible to change all values programmatically, also I'm not sure if this will only affect the active process. Hope this helps!

于 2010-06-11T15:32:10.937 回答
1

你说原生 C++ 并且仍然有一个 WinForms 标签有点困惑......

假设它是一个没有任何 .Net 的本机 C++ 应用程序,我会查看这里SetThreadLocale描述的函数。

于 2010-06-11T08:25:57.473 回答
1

您可以使用 U+FF1x 字符而不是 U+003x,但会产生轻微的印刷后果。

于 2013-09-12T07:06:14.327 回答