如何将CString转换为整数和浮点数?

时间:2015-12-11 11:20:25

标签: c++ windows winapi mfc

我正在尝试将CString转换为int和float但无法找到任何C ++库函数来完成此操作。请帮忙。

1 个答案:

答案 0 :(得分:5)

MFC 中正确的 UNICODE 兼容方式如下:

CString sInt = _T("10");
int n = _ttoi(sInt);

CString sFloat = _T("10.1");
float f = _ttof(sFloat);

正如David Heffernan所说:如果你的项目配置只是UNICODE并且你没有使用MBCS而且没有任何计划针对像Windows 98这样的旧MS操作系统你可以使用:

CStringW s = L"10";
int i = _wtoi(s); 

C ++ 11 中,您可以使用以下内容:

std::string sInt = "10";
int i = std::stoi(sInt);

std::string sFloat = "10.1";
double d = std::stod(sFloat);