备忘
//! 将数字转换为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);
}