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