2015-06-09 137 views
1

我正在使用unicode设置编译C++ MFC项目,我通常使用函数_ ttofCString转换为double,但我找不到使用TCHARlong double的函数。将long double转换为CString

在此先感谢。

+0

如果您使用的是MSVC,“long double”与“double”完全相同 –

回答

4

使用Format方法CString类:

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

您很可能会发现,对于与Microsoft基础类相关的目标,long doubledouble的大小相同。

因此,你可以建立自己的函数存根,(它调用_ttof)与静态断言sizeof(double) == sizeof(long double)只是为了安全起见:

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