我现在需要对两个数据进行比较,比较的根据是COMBOBOX控件中的选择值。
void CLztfView::OnSelchangeCombo2() 
{
int nIndex=m_combo2.GetCurSel();
m_combo2.GetLBText(nIndex,strText);
}得到变量 strText. 提问,这得到的数值为什么是字符,如何得到10进制例如,我在COMBO BOX中设置的DATA是1-50 。 但是实际上1-9其实是字符。对应的是49-57。请问如何处理1-50成10进制

解决方案 »

  1.   

    你的strText是CString类型的吧 可以试着改成int 如果不行的话写个转换函数判定吧 
      

  2.   

    要获取DATA可以用:CComboBox::GetItemData
    要把strText(假设是CString)转成数值可以这样:
    int _ToInt(CString str)
    {
    #ifdef UNICODE
    return _wtoi((LPCTSTR)str);
    #else
    return atoi((LPTSTR)(LPCTSTR)str);
    #endif
    }long _ToLong(CString str)
    {
    #ifdef UNICODE
    return _wtol((LPCTSTR)str);
    #else
    return atol((LPTSTR)(LPCTSTR)str);
    #endif
    }
      

  3.   

    忘说了。COMBO BOX中变量DATA设置10-19为什么数据也是跟1-9一样,实际对应10进制49-57。不是很懂。。这样我不会转换了。