CString格式区域设置不一致

时间:2019-02-14 20:36:10

标签: format locale c-strings georgian

我的代码使用 CString 构造一些SQL WHERE子句,如下所示:

strTemp.Format(_T("[Reals1] = CSng('%.10f') AND [Reals2] = CSng('%.10f') AND [Reals3] = CSng('%.10f') AND "), m_Reals[0], m_Reals[1], m_Reals[2]);

这在英语和(例如)西班牙语中都可以正常工作,其中小数点分隔符是逗号(即,在西班牙语中,实数格式为“ 10,0000”而不是“ 10.0000”),并且对于查询。

但是,如果我将我的地区格式非Unicode程序的语言设置为格鲁吉亚语,则 CString 格式不起作用。 Georgian还使用逗号分隔符,但是 CString 格式会插入一个点,而SQL会引发数据类型不匹配错误。

我知道格鲁吉亚语有其自己的脚本等,但这不应该影响数字格式。为什么 CString 格式仅部分处理特定于语言环境的格式?

0 个答案:

没有答案
相关问题