概述
参考网上的资料,自己整理的常用类型转换函数。
头文件
#pragma once
#include <atlstr.h>
#include <string>
/************************************************************************/
/* 常用类型转换 */
/************************************************************************/
std::string CString2String(const CString& strVal);
CString String2CString(const std::string& strVal);
int String2Int(const std::string& strVal);
std::string Int2String(int nVal);
double String2Double(const std::string& strVal);
std::string Double2String(double nVal);
float String2Float(const std::string& strVal);
std::string Float2String(float nVal);
int CString2Int(const CString& strVal);
CString Int2CString(int nVal);
double CString2Double(const CString& strVal);
CString Double2CString(double nVal);
float CString2Float(const CString& strVal);
CString Float2CString(float nVal);
实现文件
#include "stdafx.h"
#include "TypeConvert.h"
#include <iostream>
#include <sstream>
std::string CString2String( const CString& strVal )
{
std::string strResult = CT2A(LPCTSTR(strVal));
return strResult;
}
CString String2CString( const std::string& strVal )
{
CString strResult = CA2T(strVal.c_str());
return strResult;
}
int String2Int( const std::string& strVal )
{
return atoi(strVal.c_str());
}
std::string Int2String( int nVal )
{
std::stringstream stream;
stream<<nVal;
std::string strResult;
stream>>strResult;
return strResult;
}
double String2Double( const std::string& strVal )
{
// atof函数中的f代表的实际是double
return atof(strVal.c_str());
}
std::string Double2String( double nVal )
{
std::stringstream stream;
stream<<nVal;
std::string strResult;
stream>>strResult;
return strResult;
}
float String2Float( const std::string& strVal )
{
std::stringstream stream;
stream<<strVal;
float nResult;
stream>>nResult;
return nResult;
}
std::string Float2String( float nVal )
{
char szValue[1024];
memset(szValue, 0, 1024);
sprintf_s(szValue,"%.2f", nVal);
return std::string(szValue);
}
int CString2Int( const CString& strVal )
{
// 先转std::string
std::string strTemp = CT2A((LPCTSTR)strVal);
return atoi(strTemp.c_str());
}
CString Int2CString( int nVal )
{
CString strValue;
strValue.Format(_T("%d"), nVal);
return strValue;
}
double CString2Double( const CString& strVal )
{
std::string strTemp = CT2A((LPCTSTR)strVal);
return atof(strTemp.c_str());
}
CString Double2CString( double nVal )
{
CString strValue;
strValue.Format(_T("%lf"), nVal);
return strValue;
}
float CString2Float( const CString& strVal )
{
// 先转std::string
std::string strTemp = CT2A((LPCTSTR)strVal);
return String2Float(strTemp);
}
CString Float2CString( float nVal )
{
CString strValue;
strValue.Format(_T("%f"), nVal);
return strValue;
}
最后
以上就是虚心网络为你收集整理的C++/MFC 常用数据类型转换的全部内容,希望文章能够帮你解决C++/MFC 常用数据类型转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复