void CMyDlg::OnButton1()
{
//将不同进制的字符串转转成十进制数//
/*
CString a,b,c;
a="1777";
b="3.1418926";
c="FFFF";
int aa,bb,cc;
aa=strtol(a,NULL,10);
bb=strtol(b,NULL,8);
cc=strtol(c,NULL,16);
m_num=bb;
UpdateData(false);
*/
//将不同进制的字符串转转成十进制数//
//二进制转十进制
/*
CString strBin;
strBin="111";
CString strDec;
long nDec = 0, nLen;
int i, j, k;
nLen = strBin.GetLength();
for (i=0; i<nLen; i++)
{
if ( strBin[nLen-i-1] == '0' )
continue;
else
{
// k = 1;
// for(j=0; j<i; j++) //此三行功能同下三行
// k = k * 2;
k=2;
k=pow(k,i);//math.h
nDec += k;
}
}
strDec.Format("%ld", nDec);
//m_num=strDec;
//UpdateData(false);
m_edit1.SetWindowText(strDec);
*/
//二进制转十进制
///数字转字符串(将十进制转为十六,八进制。无二进制)/
double a=123456.789;//.23;//456;//.1;
int b;
b=a;
//char ch='ab';
CString aa;
CString bb;
aa.Format("%X",b);//此处x%指转为十六进制,%o表示转为八进制。
//注:此处%x的字母“X”可以大写也可以小写,至于大写和小写有什么区别,
//哼哼,这也是笔者无意之中发现的,(转成十六进制后,十六进制中的字母的大小写就
//取决于此处字母x的大小写。
MessageBox(aa);
}