案例:客户端收到传递的时间(9:30) 用整数表示为 0930 ,而另一个接口的时间表示为0x091E(9:30);
为了将9:30的十进制(0930)表示转为16进制(0x09iE)表示,我的做法是先将其转换为16进制字符串,再将字符串转为整数。
//转为16进制整数(例如:0930 -> 0x091E)
short CMockShim::int2hex(int nTime)
{
char szbuf[100];
int a = nTime/100; //09
int b = nTime%100; //30
int nHex = 0x0;
sprintf_s(szbuf, sizeof(szbuf), "0x%02X%02X\r\n", a, b); //0x091E
sscanf_s(szbuf, "%X", &nHex); //转为整数
//转为16进制整数(例如:0930 -> 0x091E)
short CMockShim::int2hex(int nTime)
{
char szbuf[100];
int a = nTime/100; //09
int b = nTime%100; //30
int nHex = 0x0;
sprintf_s(szbuf, sizeof(szbuf), "0x%02X%02X\r\n", a, b); //0x091E
sscanf_s(szbuf, "%X", &nHex); //转为整数
return nHex;
}
}