c++ 数据转换 进制转换

备忘


//! 将数字转换为string
//! @param fml_t:输入的数字,int/double/float
template<typename T>
string mg_Num2String(T fml_t)
{
	std::stringstream ss;
	std::string ret="";
	ss<<fml_t;
	ret = ss.str();
	return ret;
}

//! 模板函数:将string类型变量转换为常用的数值类型(此方法具有普遍适用性)  
//! @param fml_s:包含数字的字符串
template <class Type>  
Type mg_String2Num(const string& fml_s)  
{  
	istringstream iss(fml_s);  
	Type num;  
	iss >> num;  
	return num;      
} 

//! 字符串形式的HEX数据转DEC数据
template <typename T>
T mg_Hex2Dec(const string& fml_hex)
{
	T ival = 0;
	sscanf(fml_hex.c_str(), "%x", &ival);
	return ival;
}

//! DEC数据转换为HEX字符串
//! @param fml_dec:要转换的数据,int/long
//! @param fml_length:结果长度,固定 4/8
template <typename T>
string mg_Dec2Hex(const T& fml_dec, int fml_length=8)
{
	char cval[9]; //8char+'\0'
	sprintf(cval, "%08x", fml_dec);
	
	return string(cval);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值