CString Форматирование Несоответствие языковых стандартов - PullRequest
0 голосов
/ 14 февраля 2019

Мой код создает некоторые предложения SQL WHERE с использованием CString следующим образом:

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»), и это подходит для запроса.

Однако, если у меня есть мой регион , формат и Язык для программ, не поддерживающих Юникод , установленный на грузинский, формат CString не работает.В грузинском языке также используется разделитель запятых, но формат CString указывает точку, а SQL выдает ошибку несоответствия типов данных.

Я знаю, что у грузинского есть свой собственный скрипт и т. Д., Но это не стоитне влияет на форматирование чисел.Почему формат CString только частично обрабатывает специфичное для локали форматирование?

...