Преобразование длинных двойных в CString

Я работаю над сборкой проекта C ++ MFC в настройках Юникода и обычно использую функцию _ttof преобразовать CString удвоить, но я не мог найти функцию для long double которые используют TCHAR,

Заранее спасибо.

1

Решение

использование Format метод CString учебный класс:

CString sNum;
long double fNum = 10.0;
sNum.Format(_T("%f"), fNum);
4

Другие решения

Скорее всего, вы найдете это для целей, которые относятся к классам Microsoft Foundation, long double а также double одинакового размера.

Поэтому вы можете создать свою собственную заглушку функции (которая вызывает _ttof) со статическим утверждением sizeof(double) == sizeof(long double) просто чтобы быть в безопасности:

static_assert(sizeof(double) == sizeof(long double), "double and long double are not the same size");

2

По вопросам рекламы [email protected]