VC++6.0 MFC中将16进制CString转化为十进制
我有个CString类型的值16进制值“00F4”,然后我想把它转化成float型的10进制的值“244”,并显示在编辑框中,应该具体如何操作,我试过将CString类型...
我有个CString类型的值16进制值“00F4”,然后我想把它转化成float型的10进制的值“244”,并显示在编辑框中,应该具体如何操作,我试过将CString类型先转化成char类型的值,然后将其用16进制转10进制函数处理,最后将其显示在编辑框,但是数据在中间丢失,且经过调试发现16进制的00F4并没有成功转化成10进制的值。
求大神赐教可行方法 展开
求大神赐教可行方法 展开
1个回答
展开全部
CString str= "0xf4";
int L = str.GetLength();
int sum(0),temp(0);
for (int i = 2; i != L;i++)
{
sscanf(str.Mid(i,1),"%x",&temp);
sum += temp*(pow(16,L-1-i));
}
这段代码是将CString类型的16进制,转化为了整数!
int L = str.GetLength();
int sum(0),temp(0);
for (int i = 2; i != L;i++)
{
sscanf(str.Mid(i,1),"%x",&temp);
sum += temp*(pow(16,L-1-i));
}
这段代码是将CString类型的16进制,转化为了整数!
更多追问追答
追问
不好意思,你这不是我想要的结果,16进制可以直接以10进制的形式被计算机输出,问题是如何将cstring类型的十六进制00F4不丢失数据地转化成10机制
追答
没搞懂你的意思,你的意思是转化为10进制的数,还是字符串?
我这段代码是转化为int型的数字,要转化成字符串,再用cstring 的format方法.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询