将长双精度转换为CString

Converting long double to CString

本文关键字:CString 转换 双精度      更新时间:2023-10-16

我正在开发c++ MFC项目,在unicode设置中构建,我通常使用函数_ ttofCString转换为double,但我找不到使用TCHARlong double函数。

使用CString类的Format方法:

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

您很可能会发现,对于与Microsoft Foundation Classes相关的目标,long doubledouble的大小是相同的。

因此,为了安全起见,您可以构建自己的函数存根(它调用_ttof),并使用静态断言sizeof(double) == sizeof(long double):

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