关于各种进制的转换与数据在编辑框中显示的若干问题

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);



}

你可能感兴趣的:(转换)